As I am getting more and more familiar with the Magento core, I realize that Magento is built based on best practices in computer science. So, all in all it is a great codebase. It is just unfortunate that great codebase and great flexibility leads to poor performance. I guess, this is where we need to apply the other half of our computer science and speed magento up in other ways.
With that said, I still think that there should be a way to save individual parts of a product or a whole collection of items at the DB level. Perhaps this will come in the next generations of magento.
Yes, we had made similar changes: Apache + FCGID + APC+ SQUID.
notice that while we evaluated your setup, we found reports of non stability issues, plus Nginx and Varnish are still in experimentation versions. We are now seen <200ms per page load. Our only culprit at this point are the session managed pages (checkout, my account, admin) which cannot be cached at this point in time.
I’m getting 5 to 20 seconds for adding to cart and 50 to 180 seconds to place an order.
Server is dedicated, brand new with rackspace and i’ve had server/magento optomization done. Pages load very fast with cache but add to cart etc is very slow.
Had a similar issue once, in my case a third party module decided to walk through the entire database before submitting. Cant remember which extensions anymore, but I suggest to check if any of your modules interfere with the checkout.
While investigating I did confirm the site slowness but I do not think it is related to MySQL. Your slow query log is set to log queries longer than a second, but no queries were logged while browsing your pages and adding items to my cart. Apache, however, was consuming a great deal of CPU so I think focusing on making PHP faster is probably your best bet.
If this was the case do you they are saying its the actual code which is causing it to run slow and not the time its taking to do everything in mysql?
Configure your MySQL server! This will improve the performance greatly. Be aware that Magento uses InnoDB. There are several pages on the Magento site that give information about this. See for example this blogpost or this external link. There’s also a white paper by Varien in which MySQL improvements are mentioned. This is really the key to better performance. We noticed a lot of high load averages on our servers. But since we reconfigured MySQL, performance went way up. Never use the basic MySQL configuration out-of-the-box.
Page load times are still a major issue with Magento. If you are experiencing poor page load times you have 2 options. Either spend big bucks to beef up your servers and that doesn’t always work or you could consider our LightSpeed or Speed Booster modules. LightSpeed uses full page caching and Speed Booster helps you optimize Magento’s base block caching. Both modules will reduce server strain as traffic increases on your site, allowing you to employ less server resources.
Magento is a memory hungry application. The more you have the better… Magento generally does not perform very well on shared hosts.
Database tuning is very important. The more of the database you can store in memory the better, if innodb_buffer_pool_size has not been increased from the default 8M you are going to run into a lot of problems. http://mysqltuner.pl/ is a great little script that will tell you how big your table space is and what your buffer size is.