Website is getting very high load due to "UPDATE cache SET data..." It's a high traffic website, but I guess high load is not because of traffic because many times it runs smooth on same traffic. I researched a lot and optimized Apache, switched off logging modules to save resources and done whatever may be cause of load.
Then finally I installed devel on site and check using "Collect query info", "Display query log" and I found that this particular query taking too much time (more than 2000 ms)

UPDATE cache SET data = 'a:2:{s:7:\"profile\";a:36545:{s:32:\"c21f969b5f03d33d43e04f8f136e7682\";a:17:{s:6:\"layout\";s:7:\"default\";s:14:\"layout_desktop\";s:7:\"default\";s:15:\"layout_handheld\";s:2:\"-1\";s:13:\"layout_iphone\";s:2:\"-1\";s:4:\"menu\";s:13:\"primary-links\";s:10:\"menu_style\";s:4:\"mega\";s:11:\"option_font\";s:1:\"0\";s:14:\"option_layouts\";s:1:\"0\";s:11:\"option_menu\";s:1:\"0\";s:13:\"option_screen\";s:1:\"1\";s:13:\"option_t3logo\";s:1:\"1\";s..........................................................


and page getting loaded and loaded to infinite time, it never completes.
I am sure this is the only reason for high load on server.

APC is already installed on my seerver.
Given your server already has APC installed, you do not need to keep cache in database at all. And probably shouldn't.

Install APC module (for older Drupal versions see Cacherouter or Cache Backport) to move your cache from MySQL to RAM. Without it, APC only caches opcode, not Drupal's cache data. Also, APC Status or APC Admin module helps with monitoring.

It might be wise to exclude form cache from APC and keep it in database, but that's material for another question.

For APC optimization, see this question.