- You can deactivate modules that are not required, especially the
Mage_Rss module is a good candidate (as already mentioned)
- If you - for whatever reason - can not deactivate a module, you can disable observers that slow down your checkout performance. For example in the Mage_Downloadable module the Observers for
sales_order_save_commit_after may be a candidate. Also check other observers for all cart-, cart item or salesrule related events.
- Try to merge your active shopping cart price rules. As already mentioned, 80-100 rules is a lot. All these rules need to be checked when updating your cart. Maybe you can merge some rules together, to reduce the total number of rules
Another thing I did once: When adding a product to the cart, it is usually loaded by
getModel('catalog/product')->load($productId). I replaced this by loading the product via the product collection. As far as I can remember this saved about 0.5s. You will have to rewrite the
Mage_Checkout_CartController::_initProduct() for that. And also be sure to load the inventory data. You may have to do this manually by
Or use the
require_stock_items Flag. Also also use
addPriceData() on your collection. So your call looks like this:
$arrayOfProductAttributes = Mage::getSingleton('catalog/config')->getProductAttributes();
$productCollection = Mage::getResourceModel('catalog/product_collection)
->addUrlRewrite() // maybe not required
$product = $productCollection->getFirstItem();
Hope that helps.
On the other hand you could use the handy tool kcachegrind in combination with xdebug for analysing slow parts of your addToCart action (xdebug will create the cache grinds, kcachegrind can analyse them). It is quite surprising, that for example
Varien_Object::getData() calls (used by magic getters/setters) can remarkably slow down some processes!