You have a good amount of traffic on your Magento store but you can’t flush the cache because the server load will explode and the whole website will go down?
In the time between your click on the “flush cache” and when all the cache is completely regenerated, every page request from your visitors will trigger a new cache regeneration routine and this is what’s blowing your servers’ CPU and causing a lot of unpleasant downtime.
Magento lacks concurrency management (or a locking mechanism) in the point where it managers the cache regeneration.
Unfortunately that point is so early in the runtime stack that’s not possible to write a real Magento module to add the functionality, that’s why I decided to release a really small patch, which is available at:
https://github.com/fballiano/magento-cache-regeneration-lock
It’s a patch, so it’s much more compatible with different Magento versions, from CE to EE and avoid the bad habit of releasing a patched copy of the core’s file (if it’s from EE, and I’ve seen that, it’s a copyright violation) which can bring to exotic incopatibility problems.