Yesterday I had an opportunity to install and test the latest update to Magento, version 1.2. My goal was to see what performance gains, if any, had been made since the prior release. I began by upgrading a development server on which I had an existing Magento 1.1.7 installation with a large database containing 50,000+ customers and several thousand orders. (This upgrade did not proceed smoothly – more on this later.) My goal was to test a few items that have historically been severe performance bottlenecks for those who have large Magento installations:
- Loading the Manage Customers page
- Searching for customers on the Manage Customers page.
- Manually entering orders via Admin
- Loading the Dashboard
- Running sales reports
Each of these items, even on a well-configured multi-core server with many gigabytes of memory, has long been a painful experience, mostly due to Magento’s heavily normalized and not-well-optimized database schema. Most of the operations I mention can take 10-20 seconds to complete on a fast machine with that large database. So to make things interesting, I decided to perform my tests on a virtual private server with significantly less CPU and RAM.
What I found was very promising. Varien’s optimizations have really bumped Magento’s performance dramatically. The best example of this might be when loading the Manage Customers page. Previously it would take between 10 and 20 seconds on a fast server. With the new version of Magento, even running on a much slower server, the page loads in just a few seconds. The same is true for all the other operations I mention. There is no question that in this release performance is dramatically better, and I have no doubt that the performance bumps that were previously an issue will be gone on a fast server. That is the good news, but there is some bad.
As I mentioned earlier, the upgrade process did not proceed smoothly. After I ran the upgrade, I found myself with a Magento installation that was completely broken at both the front and back ends. Nor could I access Magento Connect to re-run the installation. In short, I was stuck with an upgraded but otherwise dead installation of Magento. It appears I was not the only one. The root of the problem, for my installation at least, was that Magento had run the database schema changes but was trying to run them again, causing a failure. By commenting out the code that caused the problem, I was able to regain access to Magento for testing. This naturally left a bad taste in my mouth.
Perhaps 8 hours after the initial reports of widespread upgrade failures, Magento posted an update to the update, version 1.2.0.1, which was supposed to fix the problems people were encountering with 1.2. Unfortunately for myself and others, this fix did not have the intended effect and I again had to make some edits to core Magento code in order to get my installation to run, which I did.
Even getting past this issue, many still remain. The list of problems being encountered seems to be fairly long, and it seems that those having the most severe issues are those who have upgraded from prior versions; those who performed a clean installation seem less affected. These upgrade issues are substantial enough that I think the majority of Magento store owners would be well advised to stay away from this release until the problems are addressed. But it gets even worse for those who have customized their themes – which means basically everybody. About the 1.2 release, via e-mail Magento stated:
“Currently we do not recommend to upgrade directly into 1.2 due to the theme changes that will need to be performed, a wiki post on upgrading custom themes will be available over the next few days.”
Theme changes: that’s a pretty big caveat, and because it affects just about anyone already running Magento, a warning to that affect should appear prominently in the release notes -but it doesn’t. Worse still, the referenced wiki post does not yet exist, so no one aside from Varien has any idea what changes are going to be required.
Given these facts, I have to say that I’m quite disappointed in the way Varien has handled this release. It seems that hitting their stated end-of-year target for this version overrode the caution – and quality control - that should be given to any major new update. That aside, upgrades to existing installations, which have been a sore spot for Varien this past year, continue to be an issue, and I think smoothing the upgrade path is going to have to be a major priority for them in 2009.
So what should one do about Magento 1.2? Well, if you’re just getting started with Magento you should by all means install and run the latest version. You will probably be fine. If, however, you have an existing Magento installation, it seems clear that waiting is the prudent course of action since the upgrade may not work and the changes that must be made to existing themes are as yet unknown.
