Производительность Magento Enterprise
Написал , 20 октября 2010 г.
Magento требовательна к железу, но еще более требовательна она к грамотной настройке сервера, окружения. Мы продолжаем работать над оптимизацией производительности Magento, и мы обязательно напишем статью с подробной инструкцией оптимизации сервера для Community Edition. Но сегодня, позвольте мне поделиться некоторыми фактами о производительности Enterprise.
Ни для кого не секрет, что одним из приемуществ Magento Enterprise является ее производительность. Она намного бысрее Community, мы сами это видели, работая на нескольких проектах с EE-лицензией платформы. Намного — это все-таки велечина неопределенная, поэтому мы задались вопросом насколько именно она быстрее.
Друзья, она невероятно быстра.
Как мы тестировали Magento Enterprise
Прежде всего, заметим, что мы взяли почти домашний компьютер. Это означает, что в рельной жизни интернет-магазин будет еще быстрее, ведь на Enterprise проектах мы часто работаем с клаудами, CDN’ами и прочими прелестями мира high-load. Еще раз, мы говорим о Enterprise-клиентах. Вы должны понимать — невозможно делать миллионы, тратя 20 долларов на хостинг.
Итак, вот спецификация нашего полигона:
CPU: 3.16 GHz Core 2 Duo E6500 4 Gb DDR2 RAM SATA 2 HDD drive OS: 64X Debian 5 Lenny Linux
А тестировали мы при помощи утилиты Siege 2.69 с различным количеством конкурентных пользователей, каждый из которых делал 10 переходов по сслыкам из заранее подготовленного списка. Мы присуждали тесту гордое звание «провален», в случае если более 5% транзакций терялось. Довольно честно.
Apache из коробки
Мы поставили LAMP и установили Magento (включив в ней кэш, конечно). Больше мы ничего не делали. Запустили тесты.
С Community Edition без неожиданностей: на 100 конкурентных запросах она сдалась. Посмотрите, однако, как хороша Enterprise:
На ста конкурентах Enterprise быстрее, чем Community на десяти
Оптимизированный Apache + APC
Теперь давайте подкрутим немного настройки. Апач был оптимизирован, а так же мы установили PHP APC.
И вот теперь нам видна настоящая разница. Community наконец справился с сотней — это хорошо. Ну а про Enterprise все видно из графика. Двести, триста — без проблем, меньше секунды.

Медленно? Друзья, 300 конкурентных пользователей — это очень хорошая цифра даже для большого интернет-магазина. Если интересно, то время загрузки страницы для 300 спартанцев: 0.72 секунды.
Опять же, это была относительно несложная настройка сервера. Можно достичь много большего, применяя другие технологии.
В частности, передаем привет Игорю Сысоеву. Вспоминается как мы были удивлены, когда на докладе одной хостинг-компании на конференции в Париже, после представления финальных результатов докладчик, в стиле Стива, сказал “One more thing”, и в честь nginx заиграл гимн Советского Союза.
Что в итоге? Производительность не представляет никакой проблемы для пользователей Enterprise лицензии. Мы продолжаем работать над оптимизацией производительности, и полсекунды для трехсот конкурентов представляется нам более чем реальным. Да что уж там, даже еще быстрее.
Этой статьей мы ни в коем случае не хотим сказать, что Magento Community Edition плохая. Просто, Community-пользователям не нужно такой производительности. Да и настраивается она несколько иначе. Но об этом в другой статье.
Большое спасибо Ивану Тарасенко @ Oggetto Labs.
