Description of problem: Creating a WordPress quickstart (either scalable or not) under the highest PHP and MySQL versions (haven't confirmed for earlier) produces a WordPress installation that will completely crash under high load. If, for example you run a blitz.io session, or run apachebench, as few as 30-40 concurrent connections can be enough to crash the gear. Version-Release number of selected component (if applicable): PHP 5.4 MySQL 5.5 WordPress 3.9 How reproducible: Happens consistently Steps to Reproduce: 1. Create quickstart of WordPress with PHP 5.4 and MySQL 5.5 (may work for all versions, haven't confirmed) and complete WP setup. 2. Run apachebench (ab) with 50 concurrent connections on WordPress homepage Actual results: You end up getting the gear into a permanent 503 state. No apache, php, or mysql processes listed in htop when you ssh into the gear. OpenShift website inconsistently says either "Started" or "Stopped" when in this state. No messages indicating what happened show up in any logs (that I've found anyway). Expected results: If the gear can't handle the load, or apache/php/mysql stack crashes, it should automatically restart, or at the least produce some sort of actionable notification/log message about what has happened.
Hi Cory, what gear size were you trying this on?
This happened all on the free plan, and both on a single small gear, and on a small gear enabled for scaling (so I think two?).
FWIW, this is, to some degree, expected behavior. If the app periodically runs out of memory, watchman will restart it. If it repeatedly hits its memory limit, watchman will eventually refuse to restart it. Wordpress plugins sadly appear to be very prone to memory leaks, so load testing against a Wordpress app can definitely run into this situation. (It is also possible that there's a bug in the code watchman uses to determine whether to restart the app.)
What kind of timeframe are the "repeatedly hits its memory limit" and "eventually refuse to restart"? I am seeing this behavior on a completely vanilla WordPress install (install the quickstart, give the site a name, and then try load testing), and it's possible to apply load, and have the gear crashed within 30 seconds.
I'm seeing this as well when using a small gear. If you use a medium gear, it holds up much better - I ran ab with 40 concurrent connections and didn't run into any issues.