Ok, thanks for this advice Daniel.
Le lun. 28 nov. 2022 à 21:53, Daniel Ferradal <dferra...@apache.org> a écrit : > Hello, > > In case something hogs the workers, until you figure out what and solve it: > > MaxConnectionsPerChild 0 # inifinite connections per child so apache > does not try to gracefully shut them down. > MaxSpareThreads = MaxRequestWorkers > > Never do a graceful restart. > > This is what I had to do in production with certain older version of > apache in which mod_weblogic would cause the same behaviour you > describe > > Cheers > > El lun, 28 nov 2022 a las 5:28, Mike Dewhirst > (<mi...@dewhirst.com.au>) escribió: > > > > On 28/11/2022 12:09 pm, Mike Dewhirst wrote: > > > > On 26/11/2022 11:41 am, Mike Dewhirst wrote: > > > > On 24/11/2022 6:48 pm, Daniel Ferradal wrote: > > > > Some script is probably hogging the workers and not letting them close > so if you must, just restart, but judging by the amount of traffic you seem > to have at the time I would truncate in logrotate and not restart or reload > the server at all. > > > > > > I run a Python script on the production machine to delete the entire > site (including directory structure) then redeploy everything from the repo > whenever anything changes. > > > > On the basis that Apache (mod-wsgi) only reads the files once on reload, > if they also had the dead finger of my script or perhaps the Python > interpreter hanging on, that may well have "hogged" the workers. > > > > That script now restarts Apache instead of reload. > > > > I have now adjusted the logrotate script to avoid reload/restart logging > status as follows: > > > > /var/log/apache2/*.log { > > daily > > missingok > > rotate 14 > > compress > > delaycompress > > notifempty > > copytruncate > > sharedscripts > > prerotate > > if [ -d /etc/logrotate.d/httpd-prerotate ]; then > > run-parts /etc/logrotate.d/httpd-prerotate > > fi > > endscript > > postrotate > > if pgrep -f ^/usr/sbin/apache2 > /dev/null; then > > invoke-rc.d apache2 status 2>&1 | logger -t apache2.logrotate > > fi > > endscript > > } > > > > > > ... and left the mpm-event settings as follows: > > > > <IfModule mpm_event_module> > > ServerLimit 32 # Thanks Eric > Covener > > StartServers 16 > > MinSpareThreads 400 > > MaxSpareThreads 250 > > ThreadLimit 64 > > ThreadsPerChild 50 > > AsyncRequestWorkerFactor 2 > > MaxRequestWorkers 800 > > MaxConnectionsPerChild 0 > > </IfModule> > > > > I restarted the entire machine > > > > Next logrotate is 00:00 UTC -- I'll report tomorrow. > > > > > > Zero bytes in the error log since Saturday when I sent the above email. > > > > That covers the period with copytruncate in the Apache logrotate conf. > > > > I haven't updated the site so no restarts from me. > > > > I'll adjust the deployment script back to reload instead of restart > before my next deployment and report back. > > > > > > Errors recommence as follows: > > > > ... not an error but the reload after a deployment script run... > > > > [Mon Nov 28 01:17:06.605572 2022] [mpm_event:notice] [pid 920:tid > 140638735415168] AH00493: SIGUSR1 received. Doing graceful restart > > [Mon Nov 28 01:17:06.699315 2022] [mpm_event:notice] [pid 920:tid > 140638735415168] AH00489: Apache/2.4.52 (Ubuntu) OpenSSL/3.0.2 > mod_wsgi/4.9.0 Python/3.10 configured -- resuming normal operations > > [Mon Nov 28 01:17:06.699345 2022] [core:notice] [pid 920:tid > 140638735415168] AH00094: Command line: '/usr/sbin/apache2' > > > > ... lengthy period ensues with no errors followed by another deployment > reload ... > > > > [Mon Nov 28 03:16:44.368563 2022] [mpm_event:notice] [pid 920:tid > 140638735415168] AH00493: SIGUSR1 received. Doing graceful restart > > [Mon Nov 28 03:16:44.502990 2022] [mpm_event:notice] [pid 920:tid > 140638735415168] AH00489: Apache/2.4.52 (Ubuntu) OpenSSL/3.0.2 > mod_wsgi/4.9.0 Python/3.10 configured -- resuming normal operations > > [Mon Nov 28 03:16:44.503027 2022] [core:notice] [pid 920:tid > 140638735415168] AH00094: Command line: '/usr/sbin/apache2' > > > > ... another deployment script reload after a period with no errors ... > > > > [Mon Nov 28 04:08:02.215591 2022] [mpm_event:notice] [pid 920:tid > 140638735415168] AH00493: SIGUSR1 received. Doing graceful restart > > [Mon Nov 28 04:08:02.319672 2022] [mpm_event:notice] [pid 920:tid > 140638735415168] AH00489: Apache/2.4.52 (Ubuntu) OpenSSL/3.0.2 > mod_wsgi/4.9.0 Python/3.10 configured -- resuming normal operations > > [Mon Nov 28 04:08:02.319713 2022] [core:notice] [pid 920:tid > 140638735415168] AH00094: Command line: '/usr/sbin/apache2' > > > > ... but two seconds later ... > > > > [Mon Nov 28 04:08:04.324587 2022] [mpm_event:error] [pid 920:tid > 140638735415168] AH03490: scoreboard is full, not at > MaxRequestWorkers.Increase ServerLimit. > > > > ... followed by more of the same at approximately 1 second intervals ... > > > > [Mon Nov 28 04:15:30.915730 2022] [mpm_event:error] [pid 920:tid > 140638735415168] AH03490: scoreboard is full, not at > MaxRequestWorkers.Increase ServerLimit. > > > > About to revert my deployment script to restart Apache instead of reload > ... > > > > Not sure what else I can do? > > > > Cheers > > > > Mike > > > > > > > > Cheers > > > > Mike > > > > -- > > Signed email is an absolute defence against phishing. This email has > > been signed with my private key. If you import my public key you can > > automatically decrypt my signature and be sure it came from me. Just > > ask and I'll send it to you. Your email software can handle signing. > > > > > > -- > > Signed email is an absolute defence against phishing. This email has > > been signed with my private key. If you import my public key you can > > automatically decrypt my signature and be sure it came from me. Just > > ask and I'll send it to you. Your email software can handle signing. > > > > > > -- > > Signed email is an absolute defence against phishing. This email has > > been signed with my private key. If you import my public key you can > > automatically decrypt my signature and be sure it came from me. Just > > ask and I'll send it to you. Your email software can handle signing. > > > > -- > Daniel Ferradal > HTTPD Project > #httpd help at Libera.Chat > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org > For additional commands, e-mail: users-h...@httpd.apache.org > >