Как я могу оценить претензию моего хостинг-провайдера на "оптимизацию под Magento"? - PullRequest
0 голосов
/ 01 декабря 2011

В настоящее время я отвечаю за запуск, изменение и настройку установки Magento. Я не удовлетворен нашим текущим планом хостинга, и я ищу альтернативы. Я вижу несколько хостинг-провайдеров, которые рекламируют, что они оптимизируют свои серверы для Magento (например, Nexcess, MageMojo), но у них, похоже, нет технических деталей. Что нужно сделать с сервером, чтобы оптимизировать его для Magento, который отличается от оптимизации для любого другого тяжеловесного приложения PHP / MySQL?

В настоящее время я понимаю, что из-за своей модели данных EAV и массивных XML-файлов конфигурации производительность Magento почти всегда привязана к вводу / выводу - но я понимаю, что это справедливо для большинства других приложений PHP / MySQL в масштабе. ОЗУ и ядра дешевле, чем SSD, в основном.

Как я могу определить, стоят ли эти "оптимизации" премии, которую требуют Magento-ориентированные хостинг-провайдеры? Есть ли техническая основа для утверждения «оптимизация» или оптимизация для Magento аналогична оптимизации производительности для любого другого приложения PHP / MySQL?


Примечание. Поскольку этот вопрос противоречит правилам сайта, давайте разберемся с несколькими моментами:

  • правильный ответ сказал бы: «Нет, Magento не является необычным приложением PHP / MySQL, масштабирование его до 10 000 пользователей лишь незначительно отличается от масштабирования Drupal, WordPress или Joomla! До этого уровня» или «да, Magento имеет следующие характеристики, которые требуют применения нетривиальных изменений конфигурации, методов оптимизации или настройки сервера, которые вы бы использовали для других приложений PHP / MySQL ». Таким образом, существует окончательный правильный ответ на этот вопрос.
  • Я не планирую на самом деле реализовывать такую ​​настройку самостоятельно: если бы я это сделал, я бы, вероятно, спросил Server Fault. Я спрашиваю о смелости Magento, я спрашиваю о , почему работает так же, как и я, и спрашиваю сравнения с внутренностями подобных приложений, поэтому я спрашиваю переполнение стека.

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

В дополнение к обычному:

  • php версия
  • apc, кеширование
  • Память, процессор, дисковое пространство, пропускная способность и т. Д.

С чем-то похожим на magento существуют проблемы соответствия PCI .Поэтому вам необходимо понимать физическую безопасность центров обработки данных, настройку mysql (убедитесь, что они не являются общими серверами sql) и т. Д. Лучше всего получить выделенный сервер или хотя бы vps, чтобы ваши ресурсы / данные были изолированы.от всех остальных, которые помогут с безопасностью.

Я работал с некоторыми авторитетными хостинг-провайдерами Magento, поэтому, если у вас есть какие-то, которые вы проверяете, дайте мне знать, и я сообщу вам мои честные мысли

2 голосов
/ 01 декабря 2011

Magento - это зверь, потребляющий процессор, на который больше влияет его внутренняя сложная многослойная объектная архитектура (которая позволяет очень важные настройки "из" кода ядра magento, но также реализует почти полный фасад для Zend Framework, который сам по себе не известен быть легким) + код псевдо-коллекции, который на самом деле неоптимален по сравнению с лежащим в его основе комплексом, но не настолько плохой моделью EAV DB.

Итак, хороший способ оптимизировать magento для хостера - предоставить:

  • Оптимизатор байт-кода PHP, такой как APC (поскольку один вызов в magento может закончиться выполнением нескольких десятков тысяч строковых кодов PHP)
  • Memcached для оптимизации хранения результатов и сеансов, используемый magento (возможно, magento имеет параметры конфигурации, которые позволяют ему использовать memcached в качестве механизма кэширования)
  • В идеале - прокси для полностраничного кэша лака, но будьте осторожны, для корректной работы magento требуется очень сложная конфигурация лака.

Полный кеш страниц действительно освободит нагрузку при выполнении кода php для отображения страницы. Memcached даст быстрый доступ к последним известным результатам и данным сеанса Оптимизатор байт-кода снизит нагрузку на сервер выполнения PHP-кода.

Затем сама БД должна быть оптимизирована более «стандартным» способом с использованием настроек InnoDB, соответствующих ядрам ЦП, и всех других хорошо известных оптимизаций mysql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...