Недавно я начал разработку существующего веб-сайта, который загружал страницы чрезвычайно медленно. Я знаю, что он обслуживается Apache, но у меня нет доступа к серверу за пределами каталога, содержащего сайт. Я запустил на сайте Google Page Speed и YSlow, но были лишь незначительные дефекты, которые мало повлияли на время загрузки. Интересно, что я попытался загрузить большой файл по FTP, а затем по HTTP; скорость передачи по FTP составляла около 400 КБ / с, тогда как передача по HTTP составляла всего 20 КБ / с (у меня было надежное широкополосное соединение). Кто-нибудь знает, что здесь происходит, а еще лучше, как это решить?
Спасибо, Брайан
Возможно, ваш веб-хост ограничивает HTTP-соединение.
Сказать, что у вас надежное широкополосное соединение, почти ничего не значит с точки зрения устранения проблем с производительностью веб-сайта \ приложения \ сети. Есть ли задержка или потеря пакетов между вами и сервером? Медленно ли загружаются страницы из нескольких клиентов \ сетей? Я знаю, что вы сказали, что у вас нет доступа к веб-серверу, но первое, что я сделаю (потому что я сетевой человек, а не веб-человек, поэтому я не знаю, какие веб-инструменты использовать) было бы разместить программу захвата пакетов на веб-сервере, запустить захват и фильтрацию HTTP-трафика и получить доступ к сайту с клиентского компьютера. Затем я бы посмотрел на запросы HTTP-клиента и ответы сервера в захвате. Если есть задержка в ответах, это проблема сервера (поскольку вы запускаете захват непосредственно на сервере, ответы должны быть почти мгновенными), если нет задержки, то это проблема сети.
Полезным началом могло бы стать расширение Firebug для Firefox. Он может измерять время, затраченное на ожидание запроса, и время, потраченное на загрузку страницы.
Это может, по крайней мере, указывать на то, идет ли создание страницы медленно или размер страницы слишком велик.
У вас есть SSH-доступ к серверу Apache? Если он работает в Linux, проверьте, не используются ли ресурсы на коробке (ЦП, память) чрезмерно. В верхняя команда может быть доступна на вашем хосте. Многие веб-хосты имеют несколько сайтов, работающих на одном компьютере, и один или несколько из них могут накладывать налоги на систему. Если у вас есть доступ к netstat, вы также можете проверить количество открытых потоков apache, чтобы узнать, больше ли оно, чем обычно. Apache обычно настраивается для одновременного запуска определенного количества одновременных потоков.
Работа в размещенной среде должна обеспечивать какое-то соглашение об уровне обслуживания. Решали ли вы эту проблему через службу поддержки? Вы думали о выделенной среде?
Это всегда медленный? Не помешает использовать какой-нибудь бесплатный мониторинг веб-сайтов, например AlertFox, чтобы следить за ним со временем ...