Setting up apache server-status module is always a good idea - as you can (try) and see the information about load/requests etc.

wp-cron.php is a wrapper script around a whole system of potentially complex functions which maintain the database (garbage collect etc) it depends on what modules you have enabled how this is effecting the rest of the server.

If it is locking every word press script you may find that every apache child eventually handles a word press request (99 after the cron job locked wordpress) and so there are no free apache children to handle requests for static content...

(e.g. with 5 children ... static requests return the child to allow it to accept another request - but when a wordpress request happens that locks that child out

: Request      : Children :
: /static.html : 1....    :
: /static.html : 1....    :
: /wp-cron.php : 1....    :
: /static.html : #2...    :
: /wp.php      : #2...    :
: /static.html : ##3..    :
: /static.html : ##3..    :
: /wp.php      : ##3..    :
: /static.html : ###4.    :
: /static.html : ###4.    :
: /wp.php      : ###4.    :
: /static.html : ####5    :
: /static.html : ####5    :
: /wp.php      : ####5    :
: /static.html : #####    :  <- hangs no free child

On 5/9/2016 9:26 PM, Christopher Schultz wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

D'arcy,

On 5/9/16 2:16 PM, D'Arcy J.M. Cain wrote:
This weekend at various times my server was brought down.  I saw
one process using over 99% of the CPU.  No pages could be served
while this was going on.  I found the culprit.  It was a Wordpress
site and the script was wp-cron.php.  I stopped it by adding a line
to wp-config.php as
http://geektnt.com/how-to-solve-wp-cron-php-high-cpu-usage.html
and other sites suggested.

However, I am still confused how this one process was able to block
all other pages.  I have MaxClients set to 100 and 15 other cores
that they can be run on.  Why didn't my server continue to serve
requests?
What kind of response were you getting from your server when you
connected with another client? Timeout? 503? 500?

If you tried to hit another WordPress page, it probably ALSO called
wp-cron.php which tried to hit the db to check for outstanding tasks,
and that call probably got blocked by a db record or table lock.

I'm guessing this is really a question for the WordPress community.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlcw8msACgkQ9CaO5/Lv0PDhdwCfZQg66WfTk++WjLTsEBYMrnrD
QVEAnipEMAPXxPhYRlz5/zYzJ8iueHYd
=hyjH
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org




--
The Wellcome Trust Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to