У меня есть сайт - фотогалерея. Около 400 фото. Сайт в галерее 3. mySQL. Размещено на VPS с сайта myhosting.com (ЦП 1792 МГц, 2048 МБ ОЗУ).
Вроде все нормально, но есть одна большая проблема. Когда посещаемость достигает ~ 20 человек (онлайн) - сайт начинает загружаться очень медленно. Фактически сайт не загружается около 30-60 секунд.
Что я должен делать?
Купить больше RAM / CPU на том же VPS? Перейти на выделенный сервер или может myhosting.com просто отстой?
Что вы порекомендуете?
Попробуйте поиграть со значениями prefork в вашей конфигурации Apache (если вы используете Apache):
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 20
MaxClients 20
MaxRequestsPerChild 4000
</IfModule>
Без понятия. Шутки в сторону. Проблема в том, что вы ничего не говорите об узком месте. Одноядерный процессор 1,8 ГГц должен без проблем обрабатывать 20 пользователей.
ПРОСТО:
Похоже, что VPH полностью перекрывается, и, к сожалению, перегрузки хоста не могут быть проанализированы клиентом. Я использую высокопроизводительный VPS, но на моем собственном оборудовании, поэтому я всегда знаю, когда, например, процессор на хосте достигает пика или IO отстает.
Я бы посоветовал провести несколько тестов производительности, а затем возможно перейти на более уважаемый хост? Линуде, например. Это не VPS как таковые, которые медленные, но если я максимально использую машину с дешевыми предложениями VPS, то, естественно ... ну ... не у каждого хоста действительно есть то, что он видит.
У физического сервера есть плюсы и минусы. Плюс: вы знаете, что у вас есть. Отрицательный: если это не удается, у вас проблемы. То же и с обновлениями. В основном это имеет смысл, когда у вас их несколько.
VPS кажется достаточно способным обслуживать гораздо более высокую нагрузку. Я догадываюсь, что не хватает активных процессов, обслуживающих сайт. Поэтому, если, например, у вас установлен apache, вам следует поднять параметр MaxClients.