Сервер занимает слишком много времени для первой загрузки [закрыто]

У меня есть VPS-сервер с CentOS 6, приобретенный у MochaHost. У него установлен WHM / cPanel, и у меня есть полный root-доступ.Веб-сайты, которые находятся на этом сервере, загружаются очень медленно, но когда я использую инструменты pingdom для проверки скорости загрузки сайта, для первой загрузки сайта требуется до 60 секунд, а затем он загружается очень быстро как в pingdom, так и в моем браузере, поскольку хорошо. Я считаю, что сервер переходит в спящий режим и очень быстро просыпается, когда получает пинг от pingdom.com. Я отправил сотни сообщений в хостинговую компанию с сообщением об этой проблеме, но эта проблема так и не была устранена, они сделали вид, что сайт загружается быстро.

У меня есть root-доступ к серверу. Могу ли я узнать, почему сервер медленно отвечает? и могу ли я узнать, переходит ли мой сервер в спящий режим?

0
задан 15 June 2014 в 12:40
1 ответ

Я не думаю, что у нас есть общий ответ на этот вопрос, но многие вопросы «мой сервер работает медленно» закрываются как дубликаты этого вопроса . Причина в том, что планирование емкости почти всегда связано с производительностью. Когда у вас заканчивается емкость, нормальный эффект заключается в том, что веб-сайт начинает работать медленно.

В вашем случае емкость не заканчивается, однако вопрос далек от ] unique на ServerFault .

Наиболее вероятная причина - это кеш или, возможно, множество разных кешей, срок действия которых истек, когда вы делаете этот первый запрос. У вас есть кеш DNS, кеш файловой системы, кеш кода операции PHP, пулы серверов приложений, кеш базы данных, кеш запросов, кеш ответов API и, возможно, многое другое. Поскольку вы работаете на VPS, часть вашей памяти могла быть выгружена на диск, пока вы бездействовали, что давало более активным пользователям физического оборудования больше оперативной памяти, с которой можно было поиграть, и это требует времени, чтобы заменить ее обратно.

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

Что вам нужно сделать, чтобы найти проблему, так это профилирование производительности. Я часто прибегаю к strace , потому что он всегда доступен и я хорошо его знаю, но XDebug (для PHP) или dtrace также являются хорошими вариантами. Профилируйте первый запрос и сравните его с профилем более позднего запроса. Различия между двумя профилями заключаются в том, где тратится время.

В ответах на вопросы, которые я дал выше, также много догадок . Некоторые из них были правильными для тех, кто задавал эти вопросы, а может быть и для вас тоже.

1
ответ дан 4 December 2019 в 17:30

Теги

Похожие вопросы