Optimising JM Tube – Speed!

Hi,

First time post, and it’s a long one. πŸ™‚

In the "menus" thread, prometheus mentioned that the JM Tube template was so slow it was unusable. I’ve also noticed it’s significantly slower than any other template I’ve used, which I admit came as a dissapointment for such an expensive template.

The design -- great! But speed, which affect’s the template’s usability for users and potential customers -- not so great!

I installed the "quickstart" version of the template, and noticed that the front page took 8-10 seconds to load, and product page loads 7-8 seconds on my development system; a ‘clean’ Windows Server 2008 box running WAMP (Windows, Apache, MySQL and PHP), and nothing else. I’ve not got WAMP running on a battered old Pentium either, the machine’s got an Intel quad-core processor and 6GB of RAM, so you would expect the performance, remembering that the server is only serving pages to one user (me), to be excellent if not blisteringly fast.

So rather than make any design changes to the "quickstart" version of the template, with it running so slowly I decided to optimise my web server set-up, and Magento configuration as best I could in an effort to try and improve the performance.

Magento is well known for not being the quickest online shopping system available. Lots of people complain about Magento being slow and unresponsive, and so there’s a lot of information on the Magento Commerce forums, and in knowledge base articles on optimising web server setups to get the best out of Magento.

I spent a couple of days researching web server optimisation for Magento, and making changes to my WAMP web server environment. I installed a PHP optimiser (APC), turned on query caching in MySQL, and made other smaller configuration changes. The result of which was I saw a slight decrease in page loading times from the base WAMP installation. I had managed to cut perhaps half a second off loading times, but the difference wasn’t hugely noticable. Certainly I couldn’t have used the template in a production environment, it would have been frustratingly slow for a user, and some may have concluded, based on the slow initial front page load that the site was down or under such heavy load that they should just abandon all hope of using it and browse for their goods on another, faster, more responsive e-commerce site.

Dissapointed with my optimisation efforts so far, I moved the site to a LiteSpeed (Linux) based web host who boasted of their Magento optimised servers. What the heck, I thought, at least then I can rule out the WAMP configuration as the cause of slowness. Page load times actually improved, but not by a great deal. The front page I timed as loading in about 7.5 seconds, and product pages 6.5. Again, this is with the "quickstart" template and having made no other configuration changes to Magento or the template. The site was a little more usable, but there was still a lot of room for improvement, and any user besides myself would be considerably unimpressed with having to wait 6.5 seconds between product page loads.

Having seen a slight improvement with the site running on LiteSpeed as opposed to WAMP (LiteSpeed claims to be considerably faster at generating PHP heavy pages than Apache) I set about making configuration changes in Magento itself.

Here’s a list of the changes I made subsequently:

Action:

Disabled ALL of Magento’s caching features (Admin Panel: System -> Cache Management -> Cache Control -> Set All Cache to Disable).

Effect: A considerable DECREASE in page load times, opposite of what you would expect. Page load times were by approx. 1.5 seconds for both the home page, and product pages making browsing a little more bearable.

Action:

Disabled any unnecessary Magento, or template specific modules that I thought may compromise performance by increasing page load times. In particular, I wanted to reduce the number of modules displayed on the busy home page, thereby reducing database calls/load. I also disabled those modules which would not be required for my site.

In Admin Panel: Configuration -> Advanced -> Advanced I disabled the following modules.

JoomlArt_JmRSS (JoomlArt RSS feed)
Mage_Poll
Mage_Rating
Mage_Review
Mage_Rss
Mage_Sitemap
Mage_Tag

Effect:

Little decrease in page load times for product pages, but as you would expect, a small but not unnoticable decrease in loading time for the front page. Front page loading time reduced by approximately 0.5 seconds.

Overall Results, Conclusion etc.
——————————————--

With the changes made as detailed above, loading times reduced to 5.5-6.5 seconds for the front page (the front page initial load is much slower however), and 5 seconds for product pages.

The web host provide a demo site with the Magento default installation, and this is quick and responsive, much more so than JM Tube. With the changes I’ve made, the speed of my site roughly equals that of the JM Tube demo.

I would be interested to hear if anyone else using the JM Tube template has managed to make any performance enhancements that they would be willing to share as I have. I’d also be interested in any input from the template’s developers with regards to the template’s performance and whether there are any plans to make any modifications to the template’s design to enhance performance in future.

4 answers

Profile photo of Michael Thomse 0.00 $tone May 5, 2009
Public

wow, you have done a lot of work. I am running JM Tube out of the box with only minor changes.
Running on a shared server. http://www.ecohaven.com.au/shop
I think it takes about 5 to 6 seconds to open a product page and about 10 secs to add a product to the cart. I don’t remember Virtuemart being any quicker, but I may be wrong.
It would be nice if it was quicker.
Michael

#1
Profile photo of Matt Collins 0.00 $tone May 6, 2009
Public

Jackberry, nice post mate. I’ve actually given up on the Tube template and opted for the Purity for my client due to the time contraints I’m under. I just don’t have the time to wait until they get it right.

Load times for me were around 6 -- 8 seconds per page which is totally unacceptable for a production site, even as a developer I got annoyed waiting around for the pages to load! It’s a shame as Tube is a good looking template.

I did much the same as you with regards to tweaking, even screaming at my host because my dedicated server wasn’t fast enough In it’s current state, JM Tube should not be used in production, it’s just not fast enough to retain the attention of visitors, web users these days expect things now…not 8 seconds later.

BTW if anyone from JA is reading this, I’m still waiting for you to change my access from Tube to Purity πŸ˜›

Matt

#3
Profile photo of John Berry 0.00 $tone May 10, 2009
Public

I went down the same route in the end, and asked to switch from JM Tube to Purity and it appears to have been the right decision so far. I liked the design on JM Tube, the included Product List and Slideshow modules but at the end of the day, I’m building an e-Commerce site and the functionality for a user is as if not more important than the looks when the difference is such a contrast: 3 second loads on Purity (perhaps less) and double that with Tube.

#4

This question is now closed

Written By

Comments