Я запускаю apache2 (2.2) в Ubuntu на VPS с 768 МБ ОЗУ. Почему-то загрузка любой страницы (даже статического html) занимает несколько секунд. Единственный компонент, который я могу винить, - это Apache. Однако я понятия не имею, почему это так. Я даже установил NewRelic, чтобы посмотреть, может ли это помочь мне диагностировать проблему в более наглядном и понятном формате. Я вижу, что apache2 использует около 400 МБ ОЗУ, что кажется много, но общий объем все еще значительно ниже 100%. Я все еще не понимаю, в чем настоящая проблема и как ее правильно диагностировать.
Использование памяти согласно верхнему (по запросу ответчика):
Mem: 768848k total, 753380k used, 15468k free, 39792k buffers
Swap: 262140k total, 92696k used, 169444k free, 432888k cached
Результаты для "free -m":
total used free shared buffers cached
Mem: 750 733 17 0 35 414
-/+ buffers/cache: 282 467
Swap: 255 90 165
/server_status
для вашего IP - чтобы вы могли видеть, что именно делает Apache - возможно, кто-то забивает ваш сервер запросамиerror.log
и access.log
top
и введите "C" или "M", чтобы получить подробное представление о том, что делает ваша система.возможно, ваш apache вызывает подкачку - посмотрите вверху, сколько памяти он использует.
если вы обслуживаете только статический контент - пропустите диагностику проблем с apache и замените его на nginx, mathopd или lighttpd. они обеспечат гораздо лучшую производительность при меньшем объеме памяти.
если вы обслуживаете как статический, так и динамический контент - вы все равно можете запускать apache на другом IP-адресе или другом порту и использовать nginx в качестве обратного прокси для динамических частей, одновременно обслуживая статические активы непосредственно из nginx.