кэширование, маленький вопросик

Тема в разделе "Веб-дизайн", создана пользователем zelez2006, 1 авг 2009.

Статус темы:
Закрыта.
Модераторы: zek24
  1. zelez2006

    zelez2006 Постоялец

    Регистр.:
    25 июн 2009
    Сообщения:
    65
    Симпатии:
    15
    Веду разработку сервиса сетевых дневников. Рассчитываю на большую посещаемость и дабы не нагружать сервер, хочу сделать такой крюк: при загрузке страницы дневника, выполняется до 50 запросов к Бд. Хочу генерировать для дневников статичную страницу, с указанием времени "кэширования". При загрузке статичной страницы будет всего один запрос - время изменения страницы. И если оно не будет совпадать с временем последнего изменения из Бд, статическая страница сгенерируется заново. Но это только главная страница дневника, остальные с постами и еще куча остальных только динамические. Раньше с кэшированием не сталкивался.
    Подскажите, есть ли смысл столько возиться с этим, или оставить все страницы динамическими?
     
  2. KEPZ

    KEPZ Создатель

    Регистр.:
    6 май 2008
    Сообщения:
    36
    Симпатии:
    3
    если ресурс с большой посещаемостью, то лучше использовать кэширование. оно ускорит "выдачу" страниц и разгрузит сервер. самое главное - правильно решить, когда кэшированные данные считать устаревшими.
     
  3. wtf?!

    wtf?! Постоялец

    Регистр.:
    29 июл 2009
    Сообщения:
    53
    Симпатии:
    9
    Преждевременная оптимизация - зло!

    Вот когда сервис будет умирать под нагрузкой, тогда и смотрите как можно помочь будет. Сейчас у тебя одно видение ситуации, а когда начнется реальная нагрузка, выстрелить может совсем другая проблема.

    Так что оставляй как есть, а уж когда дойдешь до точки кипения, тогда и посмотришь что можно подкрутить, что можно закешировать.

    Помимо кеширования есть множество вариантов решения проблем нагрузки, но решать проблему не имея самой проблемы, это все равно что вилами водить по воде.
     
  4. d0xin

    d0xin Создатель

    Регистр.:
    23 авг 2007
    Сообщения:
    18
    Симпатии:
    0
    Не вопрос... Но...
    ... еще большее зло... Точнее, ето - зло вселенского масштаба!
    Мне кажется нужно попробовать сократить кол-во запросов.


    Вот етот запрос, точно лишний. Проще оставить timestamp в самом файле кеша или вообще по времени создания файла смотреть и сбрасывать кеш при обновлении базы (напишите событие и вешайте на него обработчик);)
     
  5. taras.e

    taras.e Создатель

    Регистр.:
    28 апр 2008
    Сообщения:
    15
    Симпатии:
    1
    иногда для кеширования можно использовать прокси, т.е. вместо сервера запрос попадает на прокси, а тот его перенаправляет на другой порт с веб сервером.
    А вообще слишком много запросов для одной странички, думаю стоит почитать документацию mysql и переписать запросы.
     
    капрал нравится это.
  6. wtf?!

    wtf?! Постоялец

    Регистр.:
    29 июл 2009
    Сообщения:
    53
    Симпатии:
    9
    О чем речь и идет. ТС пытается привязать кеширование, хотя имеет проблемы с архитектурой, даже создав полные кеши страниц, все равно придется кеш обновлять и все равно выползут эти 50 запросов.

    Но может быть ТС имеет систему с 50 простейших запросов, с правильно выставленными индексами, без ORDER, без GROUP, без JOIN. Тогда 50 это не так и страшно.
     
  7. капрал

    капрал

    Регистр.:
    2 окт 2008
    Сообщения:
    337
    Симпатии:
    45
    совет, дельный. обновляй кеш только тогда, когда пользователь изменяет запись в дневнике, тоесть СРАЖУЗЕ после добавления новой записи. второй совет, используй не полное кеширование, тоесть для некоторых блоков страници полней кэш, для остальных (недавно добавленные пользователи и тд) можно вобще без кэша.
     
  8. StrangeCat

    StrangeCat Создатель

    Регистр.:
    15 июл 2009
    Сообщения:
    43
    Симпатии:
    2
    не торопись главное, кеш может подождать, а то "наоптимизируешь" еще сейчас
    как нагрузка будет - так и возьмешься
     
Статус темы:
Закрыта.