Мы только что установили/настроили новый веб-сервер взамен устаревшего. Назовем старый сервер «сервер1» + новый сервер «сервер2». На обоих работает один и тот же веб-сайт с одним и тем же кодом, но старый сервер по-прежнему обслуживает веб-страницы гораздо быстрее, чем новый. Во-первых, вот более подробная информация о спецификациях сервера:
Конфигурация сервера 1:
Linux server1 2.6.32-25-generic-pae #45-Ubuntu SMP Сб 16 октября 21:01:33 UTC 2010 i686 GNU/Linux
Общий объем памяти: 6180036 КБ
8-ядерный ЦП Intel(R) Xeon(R) E5620 @ 2,40 ГГц
Версия сервера: Apache/2.2.14 (Ubuntu)
Конфигурация сервера 2:
Linux server2 3.2.0-23-generic #36-Ubuntu SMP Вт, 10 апреля, 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Общий объем памяти: 24682544 КБ
16-ядерный процессор Intel(R) Xeon(R) E5620 с тактовой частотой 2,40 ГГц
Версия сервера: Apache/2.2.22 (Ubuntu)
Основные отличия заключаются в том, что server2 имеет 64-битную архитектуру ОС, а также имеет гораздо больше оперативной памяти и мощности процессора.
Не знаю, как вы, но я ожидаю, что server2 взорвёт носки server1. Однако это не тот случай, когда речь идет об обслуживании веб-страниц.
Вывод инструментов разработчика для загрузки страниц обоих серверов:
Время ожидания: 314 мс
Время ожидания: 5,45 с.
Как видите, с обеих машин выполняются одни и те же запросы к файлам, но сервер 1 по-прежнему доминирует.
Я попытался изучить несколько факторов, которые могут влиять на «время ожидания», но мне очень трудно определить, на что тратится время. Я изучил конфигурацию Apache2, на обеих машинах применяются одни и те же директивы и расширения модулей... сравнил код и убедился, что он идентичен... Время сети/пинга/nslookup практически одинаково.
Может ли кто-нибудь объяснить, как именно рассчитывается «Время ожидания», и какие методы можно использовать для решения проблемы?
Большое спасибо, ns