Pull to refresh

Доступно о нагрузке на сервер

Reading time2 min
Views1.7K
И так, цель данного топика: визуализация нагрузки сайта на один обычный сервер.
image
В статье будет на примере одно сайта и одного сервера попытаемся взглянуть на основные шаги по уменьшению нагрузки на сервер.


Сайт: на Wordpress c суточной посещаемостью по данным GA
image

Север: с двумя процессорами Intel® Xeon(TM) CPU 2.80GHz c 4Гб оперативной памяти на борту.

История: Пару лет назад возникла идея создать небольшой сайт для одной локальной сети нашего города, время шло, посещаемость росла и провайдер попросил переехать на своё железо в связи с большим потреблением ресурсов, «железо» провайдер готов разместить у себя в серверной.
Так был собран обычный ATX системник с процессором p4 3000c и 1 Гб памяти.
На сервере стояла ubuntu Декстопная правда :) и тихо мирно сайт развивался ресурсов хватало на всё, но когда на сайте число постов перевалило за 3000, БД выросла до гигабайта (тогда ещё был WP 2.3 ) и пришлось мне выносить БД на другой сервер, сервер был найден, имел один процессор 2.8 и гиг памяти, он взял на себя ношу БД. шло время, и вечерами сервер с БД просто стоял в 100% нагрузке, посещаемость сайта при этом была в районе 700-900 уникальных в сутки.
Дальше было страшное ЧП и потерял я все данные со свежими бэкапами, а старый разворачивать особого смысла не было. (Да да бэкап должен быть правильным!) Так началась жизнь с чистого листа, попутно я задался вопросами оптимизации и уменьшения нагрузки.
Таким образом была установлена Ubuntu 8.04 LTS, Apache2 был спрятан за nginx, содержание сайта несло в себе почти одну статику: картинки, ролики, флешки.(порядка 80 000 файлов) Nginx на ура отдавал статику при этом почти не расходуя ресурсов.

Дальше был «тюнинг» БД постараюсь рассказать об этом в отдельном топике. :)

Попутно был куплен на ebay сервер за 127$ доставка до сибири + 100$
image

Росла посещаемость, росла БД -> росла нагрузка и свободных ресурсов становилось всё меньше.
На тот момент она выглядела вот так. CPU и Память.
image
image

Дальше был подключен eAccelerator
image
image
тут видно резкое снижение расхода памяти.
Дальше о пользе плагинов кэширования для wordpress.
Включаем плагин Hyper Cache хотя он сейчас включен в дистрибутив, но могу ошибаться.

image
image
Заметно падает нагрузка на процессор.
Включаем плагин WP Super Cache
image
image
Особо разницы не замечено :)

Теперь немного о методике теста. На самом деле тест проводился в обратном порядке, т.к. система отстроена и работает отлично. по очереди раз в день примерно в одного и тоже время выключали один элемент…
Тест проводился в течении 4х дней.

Хотел бы ещё задеть производительность MYSQL и Wordpres в целом. Пока могу сказать, что на загрузку 1й страницы Wodrpress формирует 70-100 запросов к БД, за что отдельный привет данной CMS и создателям плагинов, которые не сдали курс «базы данных».
Tags:
Hubs:
0
Comments21

Articles