Improve the Performance of Your E-commerce Site, Part 2
Last time I wrote about optimizing your e-commerce site for performance, and I focused on the front-end: the HTML, images, and other elements delivered to the browser. Today I want to talk about back-end optimization, or optimizing how data is processed on your server before it’s sent to your customer’s browser.
The elements you want to check for back-end performance vary to some extent depending on the shopping cart you use. However, before we take a look at cart-specific issues, let’s discuss some areas of concern that are common to most shopping cart software.
Is Your Software Up-to-Date?
While sometimes it’s perfectly fine to operate under the “if it ain’t broke, don’t fix it” principle, that’s not always the case when it comes to software. You’re probably not still running Windows 3.1, right? So why would you trust your income to software designed in 2001?
Software is often upgraded to add new features, but it’s also often done to improve the software speed. In addition, you may be gaining significant advancements such as PA-DSS compliance.
Of course, you need to upgrade smartly. Create a separate development site, and upgrade to the newest version of your software package (and any add-ons) and then TEST, TEST, TEST.
Keep Your Data Clean
Your e-commerce site is not your garage or your attic, a place to put things that you may decide you use “some day”. Delete old data that you no longer need! Examples are permanently inactive products, orders that have already been downloaded to your fulfillment software, etc. Sure, you should keep a backup of the data – but elsewhere. Copy it to a second database or export to flat files, and let those be your data “attic” instead of your website’s main database.
Test Your Add-Ons / Plug-Ins
If you have third-party add-ons or plug-ins, test to thoroughly to make sure they aren’t significantly affecting your site’s performance. As a Miva module developer myself, I know for certain that add-on products aren’t as significantly tested as the main shopping cart package itself. Most third-party developers don’t have the staff or time for load-based testing.
Whenever possible, test your website’s responsiveness with the third-party plug-in active, and again with it inactive or uninstalled. If the difference is significant, you need to consider whether the added functionality is really worth the compromise in speed. Or perhaps you can find an alternative plug-in that works better for sites with higher traffic.
Tune-up Your Database
It’s possible that the database itself may need some fine-tuning for performance reasons. Although most major commercial e-commerce software has already been optimized, if you’ve added custom programming or plug-ins, those may not be as finely tuned. In fact, late last year I was working on a site whose previous developer had made several custom modules, and one of the tables had no indexes on it WHATSOEVER. Their “advanced search” form was taking 45+ seconds to return results. Simply adding a single index to that table in MySQL took the query down to 0.008 seconds.
If I remember how to calculate percentages correctly, that’s a 5625% improvement. It only affected the advanced search functionality of their site, but imagine if the entire shopping cart had been built by this one developer, and he’d left off major indexes? The site would have slowed to a crawl all-around, and the company would be out of business today.
Hosting and Hardware
Don’t be a cheapskate when it comes to hosting your website, either. If your traffic and sales are very high, you may need a dedicated server, even though it costs more. (If it’s really high you may need multiple servers!) Try to find a hosting provider who has a good reputation for hosting the specific software you plan to use. There are hosts who specialize in Magento hosting, those who specialize in Miva Merchant, etc etc. Talk to other retailers who use the same shopping cart you do, and find out who to consider and whom to avoid.
As I mentioned at the beginning, there are lots of things you can do to improve your website that depend on which shopping cart you use. I don’t work with that many different packages, so let me point you to some resources that may be useful instead.
- Magento provides a whitepaper about performance tuning their software.
- The Magento Forums have a number of discussions on improving the speed of a slow Magento site.
- Review and discuss performance-related questions at Miva Merchants’ online forums.
- Consider the Merchant Optimizer plug-in from Phosphor Media that makes static copies of all of your catalog pages.
- QualiTeam’s Performance Tips article gives a number of items to test, turn off, or tune up to make your X-Cart site perform better.
- The X-Cart forums offer a good starting point for troubleshooting performance issues.
- RubikIntegration’s ZenCart Optimization Guide gives some specific things to look for
- ZenCart Forums has several threads about performance issues.
For others, use Google to search for the name of your shopping cart followed by one of these phrases:
- "performance tuning"
- "speed up"
Is it worth it?
Performance tuning can take a lot of time or cost good money if you outsource it. But remember that your page response times affect many things – your customers’ perception of your business, your SEO rankings, and even your AdSense quality score. It might be tedious, but performance testing and improvements are well worth the investment.