Иногда при высокой посещаемости сайта необходимо производить оптимизацию vps сервера, чтобы он функционировал в нормальном режиме. Техподдержка хостера не всегда помогает найти решение этой проблемы, наоборот, она может усложнить дальнейшую его оптимизацию.nnДля повышения производительности VPS рекомендуется пойти по стандартному пути: nginx/Ускоритель PHP/expires у статики/отключение access-логов. Если PHP работает в режиме CGI, тогда нет необходимости его трогать. Если эти действия не решают поставленную задачу или не полностью удовлетворят все пожелания касательно производительности веб-сайта, то необходимо искать другой способ.nnЕсли страницы являются нерабочими, то необходимо обратить внимание на CGI. При возникновении конфликта APC и Zend Optimizer все страницы сайта просто не будут открываться.nnВот с таким случаем мы столкнулись:Техподдержка хостера для ускорения сервера осуществляет следующие настройки по умолчанию:n
- nginx: 8 процессов, по 65к соединений, что является недопустимым, так как сервер не может осилить более 100. Еxpires статики вообще не настроен, а аccess логи прописаны как в Apache, так и в nginx.
- PHP настроен в режиме CGI, что не даёт возможность воспользоваться известными ускорителями PHP. Zend Optimizer не может ни в чём помочь, так что при этом выборе PHP будет работать очень медленно.
- Apache активно пытается осилить большую работу, с которой он просто не может справиться, а именно на nginx запускает до 150 процессов и такое же количество процессов на PHP. В результате памяти не хватает. Обычно хостеры тогда рекомендуют перейти на тариф с большей памятью, но в скором времени и этого не хватает для нормального функционирования сайта.
- MySQL при доступной памяти один гигабайт имеет файл конфигурации только под 50 мегабайт.
Для оптимальной настройки vps сервера необходимо произвести следующие действия:n
- nginx, один процесс (обычному серверу и 10000 соединений «в стоячем» состоянии просто не видно, а всё остальное является просто ненужным расходом памяти). Ещё нужно произвести отдачу заголовков expires для статики.
- PHP нужно строить в режиме по умолчанию, это может быть любой PHP opcode cache.
- apache2 следует настроить для 8–16 процессов, он производит фиксированный расход памяти.
- MySQL – файл конфигурации нужно настроить на 50 процентов от доступной памяти.
Эти действия помогли снизить нагрузку, стабилизировать расход памяти и в дальнейшем владелец веб-сайта может перейти на тариф дешевле. Техподдержка хостера произвела неправильные настройки из-за некомпетентности специалиста или для того, чтобы перевести владельца сайта на дорогой тариф. Поэтому необходимо с осторожностью относится к технической поддержке хостера и следить за изменениями функционирования веб-сайта после его оптимизации.nnНа картинке видно как изменилась нагрузка сервера после корректной оптимизации сервера.n
У Вас есть проблемы c производительностью сервера, обращайтесь [email protected], мы заставим Ваш сервер работать быстро.