0

I run a fairly trafficked store with 30 stores and 20 websites. It works fine when things are cached, but without the config cache enabled, the site is extremely slow.

This means that when I deploy things, the web server gets completely overloaded until the cache has been saved and i over and over again restart PHP-FPM. It just an epic DOS beating me to death that also brings me clients with baseball bats every day, who also want to beat me to death.

How do you all handle high trafficked stores with so many stores + websites (typical global store)? I don't want the solution to be "add more hardware", especially not since media is so hard to scale

1

I finally solved this by implementing a custom config model and by replacing the App model in my local directory.

Basically I'm using an exclusive lock in Redis, locking up both reinit() and init() in the config. This has proven to work so far and my client is not afraid of saving the configuration cache anymore.

More information here: https://github.com/madepeople/Made_Cache#config-cache-regeneration-locking

I guess this doesn't do the job completely if you have hundreds of storeviews as this regeneration will take minutes to complete. As long as the generation is around 10 seconds i think it's fine to let requests sleep.

|improve this answer|||||
0

I know you don't want to hear this but this could be solved by load balancing... or if you have something like a full page cache running you can warmup the cache of your website section by section and let full page cache handle the traffic while you warm up the Magento cache.

|improve this answer|||||
  • Could make sense, i have the EE FPC on top and that works well, but when 80 requests start generating the cache i get sinked. How do other big global sites handle this? – Jonathan Selander Nov 19 '13 at 9:28
  • @JonathanSelander I'm not sure, perhaps they crawl their sites and just ban a url, visit it with the crawler to warm up the cache and then move on to the next url? On the other hand, most sites should be able to handle it with load balancing. – Rick Kuipers Nov 19 '13 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.