Случайные записи в Твиттере

Использование лимитов на сервере

в Общая инфа, сайт

Есть сайт с низкой популярностью. Сайт интересен только узкому кругу людей.

 

Но проходит некоторое время и узкий круг интересующихся людей начинает создавать такую нагрузку, что сервер начинает медленно (или не очень) приближаться к верхним границам выделенных ресурсов.

 

Особенно быстро выедаются (по моим наблюдениям)

  • операции ввода/вывод
  • процессор
  • длительность SQL запросов

 

Длительность SQL запросов - такой скачок наблюдался только при установке движка. Похоже много ресурсов выедается именно в этот момент.

 

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

 

Операции ввода/вывода.

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

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

 

Так что же делать?

 Сначала будем считать, что MySQL, сервер нормально отрегулированы, CMS не жрет ресурсы сверх меры, нет заражения и взлома

1. Необходимо включить кеширование страниц для всех незарегиных пользователей сайта.

Для зарегиных пользователей необходимо доставлять самую свежую версию страницу (там могли измениться данные), а вот гости сайта могут смотреть сай "в записи" с задержкой в 1-2 часа. Им от этого хуже не станет. Если интересно - зарегистрируются, если нет - будут иногда поглядывать или уйдут навсегда. Также как гости и поисковики будут получать старую (с задержкой в 1-2 часа) версию сайта.

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

Если принципиально выдавать всем самую новую версию - тогда наверное стоит отказаться от кеширования для гостей или сократить время кеширования до 10-30 минут. Конкретные цифры могут очень сильно зависить от конкретной нагрузки на сайт.

 

2. Кеширование частей сайта, которые редко меняются. Здесь кеширование работает для все и поэтому его необходимо использовать аккуратненько.

На этом сайте кешируются блоки Прямой эфир, На связи Хабрахабр, Сейчас комментируют, расположенные на главной странице. Т.к. активность на сайте низкая, то время кеширования стоит 1 час. Т.е. эти блоки не создаются каждый раз по новой, а только 1 раз в час

 

3. Вырубать ненужные модули, зависят от конкретной CMS 

 

4. Возможно перейти на менее прожорливую CMS или на VPS (может сайт интересен уже не узкому кругу людей)

 

 

Комментарии

Отправить комментарий

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