Вопрос производительности Magento - PullRequest
4 голосов
/ 05 декабря 2010

У меня установлена ​​версия 1.3.2.4, в которой запущено два просмотра магазина и 2734 продукта.Сайт посещает около 15 000 посещений в месяц.

Apache и MySQL (в основном Apache) большую часть времени используют около 1,5 ГБ ОЗУ и достигают пиковых значений более 3 ГБ.Мои вопросы, учитывая статистику, это нормально?Похоже, много.

Если использование памяти фактически ненормально, поможет ли обновление до 1.4.1.1?

Ответы [ 3 ]

4 голосов
/ 05 декабря 2010

Если вы считаете свои магазины, то у вас все хорошо. Но что касается трафика, который вы получаете, кажется, что вам нужно предоставить некоторые дополнительные функции для Magento, чтобы он начал работать. Для этого у вас может быть несколько из следующих: -

  • Установите APC (альтернативный кэш PHP) или XCache (или любую другую альтернативу) и настройте его использование в своем бэкэнде Magento. Это резко увеличивает скорость Magento.
  • Вы можете хранить кеш Magento в памяти (tmpfs в Linux).
  • Вы также можете указать Magento сохранять сеансы в Memcache , чтобы ваши сеансы находились в памяти и распределялись.
  • В разделе «Управление индексами» в Magento можно найти любые индексы, каждый месяц или два раза в месяц. Если вам все-таки понадобится какая-либо индексация, сделайте это немедленно и очистите кеш из своего Cache Management.
  • Проверяйте свою базу данных каждую неделю или раз в два месяца на наличие накладных расходов в любой из таблиц вашей базы данных. Если вы обнаружите какие-либо издержки, немедленно «оптимизируйте» эти таблицы.

Попробуйте прочитать некоторые из этих статей , чтобы узнать больше об этом.

Кроме того, обновление до 1.4.1.1 поможет вам с точки зрения возможностей, предоставляемых Magento. Но что касается производительности, я думаю, что будет лучше подождать еще немного времени, пока Magento не выпустит на рынок свою версию 2, в которой Magento может решить некоторые проблемы с производительностью.

Надеюсь, это поможет.

2 голосов
/ 22 ноября 2011

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

Не беспокойтесь об использовании памяти, в зависимости от количества загруженных модулей Apache, вы должны ожидать около 30 МБ на каждого ребенка. Пока вы не меняете или не нарушаете свои пределы, у вас не должно быть никаких реальных опасений относительно того, сколько потребляется. Отключение неиспользуемых модулей поможет сократить объем памяти - но, честно говоря, не с заметным отрывом.

Вы всегда можете использовать Nginx в качестве обратного прокси-сервера для обслуживания статических запросов контента и передачи PHP / динамических запросов. вернуться к Apache. Таким образом, вы можете сохранить модульную сборку Apache с поддержкой .htaccess и значительно сократить накладные расходы на память.

Однако это может быть связано с дополнительной информацией, такой как вывод

бесплатно -m

Чтобы посмотреть, как распределяется часть памяти.

Я бы, вероятно, предложил загрузить файл tuning-primer.sh для запуска в вашей конфигурации MySQL. Это даст хороший (начальный уровень) показатель того, насколько эффективно ваше распределение памяти.

0 голосов
/ 11 мая 2012

Эти статистические данные выглядят довольно типично для Magento, если учесть, что один удар / загрузка страницы может использовать более 64 МБ ОЗУ.

Ваши настройки Apache также могут существенно повлиять на объем оперативной памяти, используемой вашей системой. Обновление вашей установки Magento может дать небольшой прирост производительности, но не ожидайте, что это сильно повлияет на потребление памяти и т. Д.

Если ваше потребление памяти является реальной проблемой для вас, у вас есть несколько возможных маршрутов для сокращения использования ресурсов, например:

  1. Установите Nginx в качестве обратного кэширующего прокси для apache (apache - боров и плохо обслуживает статическое содержимое).

  2. Используйте Nginx + PHP Fast CGI и удалите apache

  3. Попробуйте использовать рабочий модуль MPM для Apache или Fast CGI.

  4. Установить кеширующий прокси, такой как Varnish / Squid.

  5. Если вы застряли с Apache, вы можете настроить KeepAlive и другие параметры, чтобы уменьшить использование памяти

  6. Настройки MySQL Tweek, такие как кэширование запросов для улучшения использования ресурсов / производительности

Я обнаружил, что 1. очень хорошо работает для сокращения использования процессора / памяти, поскольку это позволяет Nginx обслуживать статические изображения и т. Д., Не требуя apache для загрузки ОЗУ, пытаясь их обслуживать.

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