Magento Performance

How to (properly) harness Magento EE’s Full Page Cache (part 1)

TL;DR The Full Page Cache is one of the most important performance features in Magento EE and very few people know how to use it Containers control your content Processors manage containers Knowing containers and processors gets you 90% of the way to solving #1 With my work with ECG one of the more common things I see areContinue Reading “How to (properly) harness Magento EE’s Full Page Cache (part 1)”

Magento Performance

Be wary of functions in SQL in Magento, such as MAX(). There may be a better way.

I just wrapped up a Healthcheck for a Magento ECG customer and I ran into an interesting issue.  IIRC, the problem wasn’t a client one but rather code that a community extension used.  I won’t mention which one. This extension was generating a query that was looking for the maximum minimum price for all products inContinue Reading “Be wary of functions in SQL in Magento, such as MAX(). There may be a better way.”

Magento Performance

Load Testing the Magento Checkout with JMeter (and enjoying it)

Update: I have started offering a new load testing service for Magento. Check it out! Load Testing the Magento checkout is, in theory, difficult.  Well, not so much difficult as time consuming.  It is my personal opinion that most Magento load testing is done either poorly or incompletely.  Load testing read-only pages usually means hittingContinue Reading “Load Testing the Magento Checkout with JMeter (and enjoying it)”

Magento Performance

Magento, HHVM and the Enterprise Full Page Cache

*** Personal note: It has been suggested that this may reflect an official Magento position.  It does not.  I like doing research and I like publishing what I find as long as I find it interesting and it isn’t tied to a customer.  So if you’re wondering if this reflects a change in Magento or some kindContinue Reading “Magento, HHVM and the Enterprise Full Page Cache”

Development Magento Performance Redis

Reasons why Redis is a great option for a worker queue in Magento

Alan Kent asked on Twitter What is your personal favorite HA distributed queue technology? RabbitMQ? Kafka? Redis? ActiveMQ? Why? — Alan Kent (@akent99) February 4, 2015 You may know that I am partial to Redis as a worker queue for Magento.  Here are some reasons why. It is stupid simple to set up (meaning nubesContinue Reading “Reasons why Redis is a great option for a worker queue in Magento”

Development Magento

Indexes are friends, not food

When I first got into Magento development, in my mind, there were two ways of getting data from the database.  You would either call Mage::getModel(‘catalog/product’)->load($id) or you would work with the collection.  If you wanted to get a filtered list of something you would use the ORM to get it. But as I’ve gained more experience IContinue Reading “Indexes are friends, not food”

Development Magento Performance

(New(ish)) Indexing in Magento or “The wonderful world of materialized views”

The Wonderful World of Materialized Views (or, Why Indexing in Magento 1.13 Is So Much Faster) When Magento Enterprise 1.13 came out it boasted massive improvement in index operation performance.  On the Magento blog introducing 1.13 (http://www.magentocommerce.com/blog/comments/magento-enterprise-edition-113/) a simple statement was made: “The introduction of incremental indexing reduces the need to perform a full re-indexContinue Reading “(New(ish)) Indexing in Magento or “The wonderful world of materialized views””

JMeter Magento Performance Testing

JMeter test script for layered navigation

I’ve been doing a lot testing with JMeter lately for Magento.  I really do like it (Magento and JMeter).  It may not be the bestest, most perfectest tool in the world, but a) it’s free, and b) it’s stupid easy to get complex tests running.  But sometimes it’s nice to have some templates available toContinue Reading “JMeter test script for layered navigation”