• Our team is looking to connect with folks who use email services provided by Plesk, or a premium service. If you'd like to be part of the discovery process and share your experiences, we invite you to complete this short screening survey. If your responses match the persona we are looking for, you'll receive a link to schedule a call at your convenience. We look forward to hearing from you!
  • The BIND DNS server has already been deprecated and removed from Plesk for Windows.
    If a Plesk for Windows server is still using BIND, the upgrade to Plesk Obsidian 18.0.70 will be unavailable until the administrator switches the DNS server to Microsoft DNS. We strongly recommend transitioning to Microsoft DNS within the next 6 weeks, before the Plesk 18.0.70 release.
  • The Horde component is removed from Plesk Installer. We recommend switching to another webmail software supported in Plesk.

Mod_throttle, maxclients, possibly perl issues

jas8522

Basic Pleskian
mod_throttle and perl issues on FreeBSD

Use this URL for reference to the problem:

http://forum.plesk.com/showthread.php?s=&threadid=23319

I'm running FreeBSD 4.9 on a P4 2.8 HT 1024MB RAM. Plesk 7.5.4 latest build.

When mod_throttle is enabled in httpd.conf, the apache error log begins to fill with errors. Originally the errors were like the ones given in the reference thread. Now the errors are like this:
httpd in free(): warning: recursive call

When mod_throttle is NOT enabled in httpd.conf, and one of our domains gets a spike in traffic (thousands of hits per hour), apache spins out of control and takes the box down with it (unless maxclients is lowered to about 100).

So we clearly need mod_throttle to help keep apache stable, but we cannot use it due to it's problems.

Here's the chain of events that I'm aware of:

1) FreeBSD Kernel is tuned similar to what voodoochile suggested in the thread. (I was not aware of it, hence why I asked him for his settings).
2) Perl is upgraded from 5.005 to 5.6.7 or something like that (the only reason this is mentioned is because I think the original errors we were getting with mod_throttle may have something to do with the perl version installed).
3) Traffic on server begins to increase steadily
4) Upgrade Plesk a few times (until 7.5.3)
5) Continued to have trouble with mod_throttle, so commented it out of httpd.conf and no longer had those problems.
6) Upgraded Perl to 5.8.7 in order to install Plesk 7.5.4 on box. Installed 7.5.4.
7) Had minor issues at least once a week with perl and different things, like apache modules and spamassassin, etc.
8) Fixed most of those issues by installing a specific perl module.
9) Found a thread that lists all modules that are (possibly) required and installed all of them
10) No problems until a huge spike in traffic hits one of our sites.

When the huge spike in traffic hit, I had maxclients set to 512 and 1000 child processes.

Server was unresponsive.

I reboot it, and watched top noticing that loads were above 100 - and was filled with httpd's.

limited maxclients to 100, and while laggy, server remained responsive. Had a hunch that mod_throttle would be handy and so I uncommented it and restarted apache. Raised maxclients to 256 (default) again, and all was well.

20 minutes later, started getting "httpd in free(): warning: recursive call" errors in the apache error_log and had to take out mod_throttle yet again (because apache becomes unresponsive).

So I left mod_throttle enabled and restarted apache. Worked fine for a bit, then started getting httpd in free errors again. Server quieted down a bit, and stopped getting those errors. But lo and behold, about 10 hours later, I started getting critical_acquire() and critical_release() errors again.

Is it possilbe that the new perl version that mod_throttle is using might be creating this problem?

If this is the case, does anyone have any solutions? I'm really starting to get frusterated with this, and as far as I know the hardware our box has in it should be able to handle quite a bit of traffic (if anyone has a rough estimate on how much traffic, that'd be nice to know as well).

Thanks for any help everyone can provide, and if you need anything from me to help you, let me know.

Jordan

[Edit]
So this 'bray' dude found something else out: http://forum.plesk.com/showthread.p...ighlight=httpd+in+free+warning+recursive+call

Apparently it's a known issue and the fix is "No idea." according to the freebsd site. Wonderful.
[/Edit]
 
Back
Top