Ускоряем Magento: Часть 1 – К чему стремиться

Михаил Бессолов, 07.08.09

В этой серии статей мы расскажем, как добиться оптимальной работы вашего магазина при высокой нагрузке. Путем всего лишь правильной настройки сервера и Magento можно поднять производительность в 10-15 раз без каких-либо изменений в исходном коде системы.

Мы постараемся в каждой статье подробно разобрать каждый из аспектов оптимизации. Все статьи будут проиллюстрированы результатами проведенных нами тестов.

Итак, вот пример сравнения производительности двух кофигураций:

  • Слева – настройки сервера и Magento по умолчанию
  • Справа – оптимизированные настройки среды и самой Magento

Default Environment and Magento Setup vs Optimized Configuration

Пояснение о процессе тестирования:

Все тесты проводились на виртуальном сервере в вычислительном облаке для того, чтобы обеспечить максимальную повторяемость результатов без привязки к конкретному оборудованию. В заключительной статье мы сравним производительность Magento, установленной на виртуальном сервере и реальном “железе”, так как по результатам нашего тестирования реальное “железо” может значительно превосходить виртуальный “облачный” сервер.

Тесты запускались на виртуальном сервере в облаке Rackspace Cloud Servers используя образ операционной системы CentOS 5.3 x86_64, подготовленный компанией Rackspace. Создавая экземпляры виртуальных серверов вы сможете выбрать практически любой из распространенных дистрибутов (RHEL/CentOS/Debian/Ubuntu/Gentoo/Arch и другие). PHP и MySQL были установлены из бинарных пакетов репозитория Remi. Конфигурационные файлы Apache и MySQL мы приведем при разборе соответствущих настроек.

Все тесты прогонялись на трех типах (размерах) каталога продуктов в Magento: Magento Sample Data с ~100 продуктов, каталог с 10 000 (10 тысяч) продуктов, и каталог с 80 000 (80 тысяч) продуктов.

В тестах мы измеряли какое количество запросов способен обработать магазин при обращении к стартовой странице сайта и в ходе усредненной сессии пользователя (посещение разных страниц каталога, пользование поиском и добавление товаров в корзину).

На графиках используются следующие сокращения по оси X:

  • sd – Magento sample data
  • 10k – магазин с 10 тысячами продуктов
  • 80k – магазин с 80 тысячами продуктов

Каждый из тестов запускался при разной нагрузке (concurrency – количестве одновременных соединений): 10, 20, 50 и 100 одновременных соединений.

Оранжевым цветом отмечены столбцы соответсвующие количеству запросов в секунду при усредненной сессии посещений, зеленым – количество запрос в секунду к стартовой странице.

В статье “Тестирование производительности” мы более подробно остановимся на используемых инструментах и используемой методике тестирования.

Один комментарий

Георгий

18.08.2009

А где собственно описание самой оптимизации?
Когда ждать такую статью?

Написать комментарий