« Back to blog

Why Magento sucks or: why Magento is so slow

Alan Storm writes:

  1. Parts of Magento use an EAV database system implemented on top of MySQL. This means querying for a single "thing" often means querying multiple rows

  2. There's a lot of things behind the scenes (application configuration, system config, layout config, etc.) that involve building up giant XML trees in memory and then "querying" those same trees for information. This takes both memory (storing the trees) and CPU (parsing the trees). Some of these (especially the layout tree) are huge. Also, unless caching is on, these tree are built up from files on disk and on each request.
  3. Magento uses its configuration system to allow you to override classes. This is a powerful feature, but it means anytime a model, helper, or controller is instantiated, extra PHP instructions need to run to determine if an original class file or an override class files is needed. This adds up.
  4. Besides the layout system, Magento's template system involves a lot of recursive rendering. This ads up.

Read more: http://stackoverflow.com/questions/1639213/why-is-magento-so-slow

 

 

Feb 24, 2011
Eric Gillette said...
I would have to say Magento is one of the most bloated complicated pieces of software I have ever seen in my 15 years of programming. It's ironic that I have so many clients that come to me after they experience problems with it, and I use them as a frame of reference for new clients who suggest that Magento be used in building their websites. It's literally the worst shopping cart ever!
Feb 28, 2011
Code King said...
yeah, could totally agree to that eric! We work with many clients on Magento projects and many of them were a absolute pain in the a**. It is one of those "enterprise" pieces, were big company's pay thousands to a agency, to get the latest and greatest piece of hyped-software.

We experienced many difficulties while using Magento, so we switched back to other (sometimes smaller) alternatives.

Jul 09, 2011
Sheila said...
So what robust ecommerce software do you suggest in place of Magento?
Jul 13, 2011
Sean said...
Can't agree more! The company I work for used to do A LOT of Magento work, but we got sick of having to fix Magento more than develop on top of it. We've now moved away from it...lesson learned. The only way we could get Magento to perform was to install 3rd party modules. The only one we found that would push the performance to where we needed it to be was TinyBrick's LightSpeed Module. The only reason I post a link to their site is because of how many times their module saved us. It feels good to get out of the bloat and spaghetti.
Jul 17, 2011
Code King said...
@Sheila: that's a good question. There are many factors, to decide which E-Commerce software is the best one for your needs. If you need a small shop (between 10 and 500 products) you can choose between many (smaller) open source systems. Magento is really thought as an enterprise system, for large shops (10-20k products). If you can spend unlimited money and time to launch a big E-Commerce System, you should go with magento, if not, use one of the smaller ones, or let some programmer write a simple and small system.
Jul 17, 2011
Code King said...
@Sean: nevermind! Thanks for your suggestion!