I tried to follow your recommendations:
- Disable the wp cron job and implement a root level cron job. DONE
- Disable database caching. ALREADY DISABLED for a week now
- Check the Apache config. COULDN'T FIND MUCH RELEVANT PARAMETERS, BUT REDUCED TIMEOUT FROM 5 MINS TO 1 MIN.
- run mysqltuner for database recos. DONE AND DEFRAGMENTED SOME TABLES:
[!!] Total fragmented tables: 2
[!!] Maximum possible memory usage: 6.8G (559% of installed RAM)
[!!] Key buffer hit rate: 80.1% (2K cached / 454 reads)
[!!] Temporary tables created on disk: 30% (3 on disk / 10 total)
No change on the periodic overload problem. I will have to do something about available RAM at some point but right now the 15 minute hits still bug me. The only relevant setting I could see is the "Automatically prime the page cache" setting in W3TC, which is set to 900 seconds by default. However that setting is unchecked and has been for a while:
'pgcache.prime.enabled' => false,
'pgcache.prime.interval' => 900,
'pgcache.prime.limit' => 10,
'pgcache.prime.sitemap' => '',
'pgcache.prime.post.enabled' => false,