This is a discussion on apache bad configuration within the Apache Web Server forums, part of the Web Server and Related Forums category; Hello guys! I own a big site, 4000 unique visitors a day which runs apache 2! I have a huge ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hello guys!
I own a big site, 4000 unique visitors a day which runs apache 2! I have a huge problem! Hourly the load on the server gets huge like 60 or 67. this is because i have more than 150 apache processes! they use to much cpu! i give the apache2ctl restart command and in 5 minutes the load gets under 1. but after an hour the huge load is back! this is my apache configuration KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 300 ## ## Server-Pool Size Regulation (MPM specific) ## # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_prefork_module> StartServers 1 MinSpareServers 50 MaxSpareServers 100 MaxClients 250 MaxRequestsPerChild 250 </IfModule> i use prefork!! do you have any ideea why i get this! i am desperate! i lose many visitors single day!! please help me!! thank you in advance!!! |
|
|||
|
"domnulnopcea" <domnulnopcea@gmail.com> wrote in message
news:c6e82bd7-44b5-4c3e-b966-73627d8cc99b@i12g2000prf.googlegroups.com... > Hello guys! > > I own a big site, 4000 unique visitors a day which runs apache 2! I > have a huge problem! Hourly the load on the server gets huge like 60 > or 67. this is because i have more than 150 apache processes! they use > to much cpu! > This will not necessarily be a problem for apache itself, it is more likely something in the make up of your site that is the problem. Presumably your site is not just flat html files?- you're using some kind of scripting language - php/perl etc... a script that uses a lot of resources (CPU/disk IO) can slow you down. Maybe you are using a database too? these can be vey disk intensive if you have not configured them well. The first thing that you might want to try is turning ExtendedStatus on and using mod_status's /server-status to tell you what apache is running when the site is getting busy. Also, let us know what you site uses in terms of scripting language/database. |
|
|||
|
domnulnopcea wrote:
> Hello guys! > > I own a big site, 4000 unique visitors a day which runs apache 2! I > have a huge problem! Hourly the load on the server gets huge like 60 > or 67. this is because i have more than 150 apache processes! they use > to much cpu! remember that CPU is not the only bottleneck that you could be experiencing, and that load (or load average) is not a pure measure of CPU utilization: http://en.wikipedia.org/wiki/Load_average Note that the load average (when it includes blocked processes) is not a measure solely of CPU utilization, it is also a measure of disk I/O and, sometimes, network performance. The CPU is only one factor in overall system performance (and is often the least significant). > i give the apache2ctl restart command and in 5 minutes the load gets > under 1. but after an hour the huge load is back! MaxClients is an important configuration directive and it varies depending on the application(s) you're running and how the hardware is configured. you shouldn't be using a default setting here. take a look at the memory footprint of your apache processes after the server has been handling traffic for a while (maybe after 30 minutes, if it locks up at 60 minutes), and adjust the MaxClients configuration directive to something appropriate for the amount of memory available on your server: http://httpd.apache.org/docs/2.2/mod...tml#maxclients for example, if your server has 2,000 mb of RAM available and each apache process uses 25 mb, then you'll have a MaxClients setting somewhere around 80 (maybe more depending on how much memory is shared between apache children). if you notice the memory footprint of apache growing out of control over time, its possible that something you've programmed (in an apache module like php, perl, or ruby) is to blame. until that is debugged, you can lower the apache MaxRequestsPerChild directive: http://httpd.apache.org/docs/2.2/mod...questsperchild to force apache to expire children before they get too bloated. apache on some OSs supports RLimit* directives that might also be helpful. performance tuning gets more and more specific to your site and what you're running. once you've solved your immediate headache you could probably make further performance improvements by walking through some apache performance tuning articles like these: http://httpd.apache.org/docs/2.2/misc/perf-tuning.html http://virtualthreads.blogspot.com/2...he-part-1.html http://linuxgazette.net/123/vishnu.html http://www.devside.net/articles/apac...ormance-tuning hth --sean -- sean dreilinger - http://durak.org/sean/ |
|
|||
|
Are you on shared hosting by chance? Also are you into swap? (To tell you
can do a simple top from shell and it will show you). You could also comment out some of the LoadModule from the httpd.conf file to free up some memory when apache starts. That wont help alot but every little bit will do. Can you post your httpd.conf file somewhere so we can have a look at it. Some settings (like maxclients) can be set too high and your server can be trying to start too many apache processes and just doesnt have the resources to handle it. Another thing could be the html/php coding that you are using. I run a site that gets 200,000 uniques a day, the load average stays under 1, but thats with alot of httpd.conf tweaking and php tweaking as well. How much ram does this server have? Have you checked hard drive space? (a simple df -k will tell you). How many things are running when you start the server? (ps -aux from shell). Just remember that your issue could also be related to something other than apache. Jim "domnulnopcea" <domnulnopcea@gmail.com> wrote in message news:c6e82bd7-44b5-4c3e-b966-73627d8cc99b@i12g2000prf.googlegroups.com... > Hello guys! > > I own a big site, 4000 unique visitors a day which runs apache 2! I > have a huge problem! Hourly the load on the server gets huge like 60 > or 67. this is because i have more than 150 apache processes! they use > to much cpu! > > i give the apache2ctl restart command and in 5 minutes the load gets > under 1. but after an hour the huge load is back! > > this is my apache configuration > > KeepAlive On > > # > # MaxKeepAliveRequests: The maximum number of requests to allow > # during a persistent connection. Set to 0 to allow an unlimited > amount. > # We recommend you leave this number high, for maximum performance. > # > MaxKeepAliveRequests 100 > > # > # KeepAliveTimeout: Number of seconds to wait for the next request > from the > # same client on the same connection. > # > KeepAliveTimeout 300 > > ## > ## Server-Pool Size Regulation (MPM specific) > ## > > # prefork MPM > # StartServers: number of server processes to start > # MinSpareServers: minimum number of server processes which are kept > spare > # MaxSpareServers: maximum number of server processes which are kept > spare > # MaxClients: maximum number of server processes allowed to start > # MaxRequestsPerChild: maximum number of requests a server process > serves > <IfModule mpm_prefork_module> > StartServers 1 > MinSpareServers 50 > MaxSpareServers 100 > MaxClients 250 > MaxRequestsPerChild 250 > </IfModule> > > i use prefork!! > > do you have any ideea why i get this! i am desperate! i lose many > visitors single day!! > > please help me!! > > thank you in advance!!! |