If you are having issues with your Magento store then, this post will surely help you.
To have a high performance Magento store, having decent server specification is only the first step on road.Without proper configuration your server is not going to make the best use of its resources and that could make the difference of literally seconds or even tens of seconds of page load time.
The first and most important thing to check is that you are running a PHP opcode cacher such as APC, which is actually what is run when people visit your store and the process of creating it, especially if you have a very large application with lots of file like Magento, can be a real performance bottleneck. Opcode caching takes your PHP source code and compiles it to opcodes and then stores this in a cache. This problem is easily resolved by having APC installed and configured.
The next thing to check is MySQL configuration. The standard MySQL configuration defaults were set when server hardware and memory was a tiny fraction of what it is today and that means that the configuration is generally way too sparse with allocation of memory for caching and other optimisations. If you are not sure then, tweaking MySQL can be tricky so its well worth getting optimise it.
After that, the next major performance gain with Magento is to make proper use of block caching. Magento has a brilliant built in feature where every block (page section) can be cached so that next time someone visits the page, the logic used to generate that section of page does not have to be run, we simply redisplay the cached copy of that block’s HTML. The example of page may be a best seller’s list.
There are still many more things that can be done to improve the performance of your Magento store beyond above mentioned three steps.