I’m honestly not a server guy, so I can’t say for certain how much of it is Litespeed vs. Apache (though I do prefer the former, and am just using the free version at this point). I’ve just been doing a lot of experimenting and have probably set up the server from scratch three times between the last two Magento versions.
I don’t know of any other Magento optimization articles beyond Yoav’s blog post, which is a great resource. My primary goal in setting this up on a VPS was to mostly reassure myself, not to mention some clients, that Magento wouldn’t pose a performance issue off the bat.
I’m really interested in seeing how performance is improved over the coming versions, though at this point I’m not worried at all about going live tomorrow with a production store, though I haven’t tested a massive catalog yet.
I can definitely see a difference, thanks for posting this!
How is everyone getting the page load times. Are you watching the clock, have some plugin for FireFox, or using some other kind of utility?
How are you determining where the performance problems are (Apache, MySQL, Processor Usage, Memory Usage, Disk Usage)?
Outside of just watching the clock on the pages that are obviously taking way too long, it would be great for everyone to know how to get a consistent way to measure the results.
I know there was a thread on the forum about someone claiming fast page load times, and they were using a website called Pingdom to do some page load testing. http://tools.pingdom.com/ I noticed that one of the issues with this method of testing was that it seems to hit Apache pretty hard, and I don’t know if it utilizes existing connections on the Apache processes. I was testing a new server architecture we’re looking at and noticed a considerable different with Pingdom results based on the number of Apache processes waiting. The default install on the server was 10 processes, and I noticed a patterern where things were slower on every set of 10 requests Pingdom was making to a page. The base home page for Magento has 81 requests. I started playing with the number of processes that were started with Apache, and noticed if I bumped it up passed the 10 processes I got better results on Pingdom. I bumpped it up to 100 processes to see what it would do since it’s just a test box. It changed the pingdom results for the home page load time from 7 seconds down to between 1-2 seconds. I did this because I noticed in the Pingdom results the part of the results that it was lagging on was simple .gif image requests and some stuff like that, and static content should be a big deal to serve out a lot of requests for. http://tools.pingdom.com/fpt/?url=http://220.127.116.11/magento/
That being said, I know that I’d have to do a bit more research to fine tune Apaches process count limits for the server based on the available resources, but I thought I’d point out the result differences from this. Visually I don’t think I noticed much of a difference when loading the site from a browser before or after modifications, but I’m not that great when it comes to judging time, so it’s nice having some kind of software to tell me the exact number. So I don’t know if this would really help or not as I know some of you are hitting issues with MySQL obviously, but I thought it was at least worth mentioning. Some tools used to measure the results could vary depending on other factors. With this example my actual PHP script load time never changed, it was the time it took to load the rest of the page that I was able to improve the results from Pingdom with.