1

Тема: Оптимизация сайта

Тут неожиданно для меня выяснилось, что сайт начал вызывать перегрузку на хостинге. Вероятно, многие уже успели поймать соответствующее окошко с предложением "зайти на сайт чуть позже" - как я увидел по логам, это в последнее время стало повторяться весьма часто - от одного до нескольких раз в неделю.

И это было неожиданным для меня, ведь сайт не настолько уж популярен, и вообще, казалось бы, не содержит навороченных скриптов и цмсок. Неужели это нормально для сайта с 20000 хитами (открытыми страницами) в день? Обычно в пиковые часы тратится 1-2% от ядра процессора Xeon E5320 (2 ГГц) (при том, что лимит на моём тарифе - 3.5%).


Первое, что я сделал - это оптимизировал вывод формул - то, что давно было пора сделать. Теперь в TeX-статьях формулы показываются не через скрипт gladtex.php, а вставляется прямая ссылка на изображение. Это должно сильно уменьшить нагрузку, но пока трудно сказать. Буду следить за ситуацией smile

2

Re: Оптимизация сайта

Хм. Вчера снова была жестокая перегрузка процессора: целых 4% проца в течение часа (с 19:00 до 20:00). Не понимаю, что могло вызвать такую перегрузку. После оптимизации "формульного" скрипта число вызовов PHP резко упало с 10 тыс до 2-4 тыс в сутки, но откуда тогда вчера взялась такая нагрузка?..

3

Re: Оптимизация сайта

Несколько дней было держалась в рамках нормальной, но регулярно (раз в несколько дней) "вылазят" 2-3% нагрузки на проц... Надо, видимо, ещё больше код оптимизировать, только вот есть подозрение, что это форум + вики такую нагрузку создают.

4

Re: Оптимизация сайта

А, кстати smile Я открыл всем доступ в этот раздел, так что если есть какие-то мысли - делитесь smile

5

Re: Оптимизация сайта

Прошло достаточно времени с момента проделанной в апреле оптимизации.

Что можно сказать - обычно на сайт в день происходит 1500 динамических запросов (к php-скриптам) и 15000 статических. Это нормально, и мало нагружает процессор хостинга.

Но вот иногда приходит нечто, которое начинает долбить smile Скажем, 1 и 2 июня было по 8000 динамических запросов, причём основная масса произошла за несколько часов, что вызвало немалое напряжение процессора (иногда превышающее предельно допустимое хостером, даже в среднем за час). Не знаю, что это может быть. К сожалению, я пока не могу вычислить даже примерно, откуда такая нагрузка идёт, и в каком компоненте сайта. Может быть, индексация поисковыми ботами?..

6

Re: Оптимизация сайта

Я просто не втыкаю в это=) Но может просто сайт слишком популярен ^_^ Особенно во время соревнований smile

7

Re: Оптимизация сайта

В целом, к концу года удалось обуздать нагрузку на сервер.

  • Ужесточил ограничение на нагрузку сервера с одного IP. Т.е. если вы начинаете долбить сайт своим wget'ом (и, например, это дало нагрузку в несколько процентов серверного процессора), то спустя несколько минут Вам перестанет показываться сам сайт, а будет выдаваться табличка "Сайт вызвал перегрузку процессора и закрыт". Для всех остальных людей в это время сайт будет по-прежнему доступен. Этот вид блокировки включается, если нагрузка с IP превысила 1% от мощности процессора.

  • Кстати, тариф сервера - 3.5% от мощности серверного процессора. При этом у меня в настройках стоит, что нагрузке разрешается доходить до 10% (типа поблажка со стороны хостера), и только при его превышении сайт будет временно отключаться для всех посетителей сразу.

  • Добавил кеширование в Википедии. Там есть магические настройки кеширования, про которые точно никто не может сказать, насколько сильно они помогают, но кеширование APC + файловое кеширование для анонимусов привело к тому, что нагрузка на сервер упала раза в 2-3. В общем, как я и предполагал, самое тормозное звено на сайте - MediaWiki.

  • А форум и код самого сайта даже не пришлось трогать - эта нагрузка оказалась не критической. Хотя вот думаю всё же реализовать файловое кеширование и на самом сайте, на всякий случай smile