Назад | Перейти на главную страницу

Оптимизация веб-сервера

У меня есть веб-сайт, размещенный на VPS (512 МБ - минимальная гарантированная память, процессор 510 МГц, Debian 5.0 Lenny, Apache 2.2.9 с nginx 0.7.65 в качестве интерфейса для обслуживания статического контента, MySQL 5.1.44, PHP 5.3.2 с APC кеширование).

Я веб-разработчик, поэтому я не очень хорошо умею оптимизировать серверы, но мне удалось установить и настроить все эти необходимые компоненты (LAMP, nginx и т. Д.). После этого я решил провести стресс-тестирование своего веб-сайта (который использует Drupal 6.16 с кэшированием и всеми возможными оптимизациями) с помощью утилиты под названием «Webserver Stress Tool 7». И мне кажется, что результаты не очень хорошие - вот график (извините, я как новый пользователь не могу публиковать изображения)

Как видите, время отклика в зависимости от количества одновременных пользователей увеличивается очень быстро. При 10 одновременных пользователях время составляет около 1000 мс, при 100 одновременных пользователях - около 15000 мс (15 с!).

Вопрос в том, как вы думаете, это нормальное поведение для такого сервера или что-то не так с настройками и оптимизацией? Если вы думаете, что что-то не так, что именно может быть не так? Любое другое предложение, как это немного ускорить?

Лучше всего начать с установки чего-то вроде Мунин чтобы составить график использования ресурсов в системе, вы сможете лучше оценить, как используются ресурсы.

Тем не менее, по умолчанию drupal использует базу данных как кеш-хранилище, вы сможете повысить производительность, выделив часть кеша файлам / оперативной памяти.

Вам следует попытаться измерить, сколько времени вы тратите на:

  • создание страницы (в целом)
  • в SQL-запросах

Для этого достаточно просто зарегистрировать время начала и время окончания различных частей ваших страниц в файле журнала.

Вы также можете проверить, где находится узкое место в отношении ресурсов. С помощью "top" вы можете проверить:

  • сколько своп?
  • % CPU простаивает?
  • % CPU ожидает ввода / вывода

Вы можете получить больше информации с помощью «sar» или «vmstat 2».

Я думаю это будет очень полезно

http://code.google.com/intl/es-ES/speed/page-speed/

посмотрите также видео! Вы должны проверить плагин Firefox. И вам понадобится какой-нибудь php acelerator, например apc (http://en.wikipedia.org/wiki/PHP_accelerator)