Mostly things that interest me

Asserting page load times in Magento with Magium

Asserting page load times in Magento with Magium

Validating SLAs (Service Level Agreements) is often part of executing browser tests. With Magium you can now include page timings as part of your test. Say, for example, that part of your SLA is that a page must be rendered in less than 5 seconds. This is done by using the TTFBLoadedLessThan, DOMPageLoadedLessThan or DOMContentLoadedLessThanRead more about Asserting page load times in Magento with Magium[…]

How to (properly) harness the Magento EE Full Page Cache (part 2 – application states)

How to (properly) harness the Magento EE Full Page Cache (part 2 – application states)

In part 1 we took a look at some of the basics of the Magento EE FPC.  We talked about the general structure and flow of the FPC. In this article we are going to take a look at the application states in the FPC.  I don’t know if “states” is the official term, butRead more about How to (properly) harness the Magento EE Full Page Cache (part 2 – application states)[…]

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

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 areRead more about How to (properly) harness Magento EE’s Full Page Cache (part 1)[…]

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

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 inRead more about Be wary of functions in SQL in Magento, such as MAX(). There may be a better way.[…]

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

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

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 hitting the same page over and over again.  This is counter productive because it allows the systemRead more about Load Testing the Magento Checkout with JMeter (and enjoying it)[…]

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

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 nubesRead more about Reasons why Redis is a great option for a worker queue in Magento[…]

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

(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-indexRead more about (New(ish)) Indexing in Magento or “The wonderful world of materialized views”[…]