У меня есть сайт в стеке Ubuntu / Apache / Django / PostgreSQL. Недавно мы обновили наш сервер с 1 процессора с общим объемом ОЗУ 2 ГБ (0,5 ГБ этой ОЗУ назначены для memcached) на новый сервер с 2 процессорами с общим объемом ОЗУ 4 ГБ (с 2 ГБ этой ОЗУ, назначенными для memcached). Однако, когда я взглянул на Инструменты Google для веб-мастеров, я обнаружил, что средняя скорость страницы снизилась с 5 до 15 секунд.
Почему производительность ухудшится при обновлении оборудования? Что я должен проверить и настроить? Вероятно, это проблема с memcached, Apache, Django или PostgreSQL?
Профилируйте свою установку. Проверьте наличие узких мест. Возможно, у Postgres закончился ввод-вывод, или вам следует выделить ему больше оперативной памяти вместо memcached. Использовать наверху он собирает "историческую" статистику и довольно тщательный.
Затем выполните сравнительный анализ на стороне клиента, потому что сайт может занять 10+ секунд из-за слишком большого количества HTTP-соединений, слишком большого количества небольших изображений, файлов CSS или JS. Используйте Y! Медленная или Google Page Speed .. или просто FireBug.
Кроме того, вы можете получить лучшие результаты, используя NGiNX для обслуживания статического контента перед всем, что связано с Apache / Django. Или полностью откажитесь от Apache и используйте его (code.djangoproject.com/wiki/DjangoAndNginx) и что-нибудь вроде runit, чтобы рабочие остались в живых.