Лучший способ справиться с вялой производительностью страниц «Добавить в корзину» или «Оформить заказ» - улучшить механизмы кэширования, которые использует Magento. Исходя из моего опыта, лучший способ добиться сверхбыстрых страниц оформления заказа - заменить встроенный кеш Magento внешним сервером кеша, таким как redis .
Это правда, что производительность, связанная с корзиной и оформлением заказа, кажется, ухудшается с дополнительными ценовыми правилами, в основном из-за архитектурного дизайна Magento в этой области. Magento создает новую запись для каждой цены продукта X групп клиентов X правил цены X уровня цен (и более). Итак, если у вас есть большой каталог для начала и десятки или сотни групп клиентов и десятки сотен правил цен, таблица цен растет в геометрической прогрессии, а оформление заказа страдает на нескольких уровнях. Надеюсь, это будет решено, но вряд ли скоро. Redis твой друг.
Другой вариант - разрешить добавить в корзину или оформить заказ и записать транзакцию в очередь, а затем обработать фактический заказ производителем / потребителем. Я знаком с этой информацией из первых рук, и это отличный способ для очень крупных транзакционных веб-сайтов, но он также создает некоторые проблемы.
Если вы используете Magento 1.8.xx CE или выше: встроена опция кэширования Redis. Если вы используете 1.7.xx и более ранние версии, вам понадобится Cm_Cache_Backend_Redis , и вы можете рассмотреть Cm_RedisSession .