Re: Apache Tunning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks Tony,

will work on the suggestion and will let you know..

Kulbir

On Mon, Mar 16, 2009 at 5:58 PM, Anthony J. Biacco <abiacco@xxxxxxxxxxxxxxxxxx> wrote:

Your math is still off. ServerLimit x ThreadsPerChild  = 200 x 25 = 5000. This does not equal your MaxClients of 1000. Try a ServerLimit of 20 and ThreadsPerChild of 50.

 

If you’re vmstat “r” column is high, chances are you’re getting a lot of requests. What’s your apache requests/second? (check the apache server-status webpage). That will also tell you what the incoming connections are actually doing. Maybe you have EnableSendFile on and your system doesn’t support it. Maybe you have EnableMMAP on and your system doesn’t support it. Maybe you’re pulling files over NFS over a slow link?

Until you look at the server-status page, you won’t know.

You should also run an strace on your apache processes to find out some more information, see if there’s a lot of extraneous calls or error in there.

strace -f -F -v –p <an_apache_child_pid>

 

And you should still see what all these numbers look like with keepalives off.

 

-Tony

---------------------------

Manager, IT Operations

Format Dynamics, Inc.

303-573-1800x27

abiacco@xxxxxxxxxxxxxxxxxx

http://www.formatdynamics.com

 

From: kulbir Saini [mailto:kulbir.saini1@xxxxxxxxx]
Sent: Friday, March 13, 2009 9:08 PM


To: users@xxxxxxxxxxxxxxxx
Subject: Re: Apache Tunning

 

Hi All

Thanks.

I also agree lowering MaxRequestsPerChild will keep busy apache in killing and recreating child process. I dont know what Math i worked, i reconfigured both of the  apache  instances on the server with following -

<IfModule worker.c>
ServerLimit         200
StartServers         2
MaxClients         1000
MinSpareThreads     75
MaxSpareThreads    250
ThreadsPerChild     25
MaxRequestsPerChild  20000
</IfModule>

KeepAliveTimeout 5

There was rise in load, teh system snapshot is -

[root@cinschpr35 root]# top
  5:46pm  up 257 days,  7:09,  5 users,  load average: 5.70, 5.31, 5.15
614 processes: 606 sleeping, 8 running, 0 zombie, 0 stopped
CPU0 states: 98.2% user,  1.1% system,  0.0% nice,  0.1% idle
CPU1 states: 99.4% user,  0.0% system,  0.0% nice,  0.1% idle
CPU2 states: 99.4% user,  0.1% system,  0.0% nice,  0.0% idle
CPU3 states: 98.4% user,  1.0% system,  0.0% nice,  0.0% idle
Mem:  3927672K av, 3922000K used,    5672K free,    5196K shrd, 1363088K buff
Swap: 1048536K av,     736K used, 1047800K free                 2112964K cached

  PID      USER     PRI  NI  SIZE  RSS SHARE  STAT %CPU %MEM   TIME    COMMAND
32006  apache0   25   0   6796 6796  4092       R    99.8         0.1      213:21    httpd
 2306   apache0   25   0  6624 6624  4100       R    99.4         0.1        136:42    httpd
 2298 apache0   25   0  6624 6624  4100         R    97.2        0.1         135:39     httpd
 2308 apache0   25   0  6624 6624  4100          R    95.4         0.1       135:05     httpd
17059 tomcat1   15   0 82432  80M  9932        S     1.1           2.0        9:10         java
14678 tomcat0   15   0  101M 101M 31464      S     1.1          2.6         6:32       java
16228 root      15   0  1488 1488   836              R     1.1           0.0        0:00      top
19850 tomcat1   15   0 82432  80M  9932       S     0.9           2.0         6:16    java
 1110 tomcat0   15   0  101M 101M 31464       S     0.5         2.6          10:19    java
23605 tomcat0   15   0  101M 101M 31464      S     0.5           2.6         7:31     java

#free -m
             total       used       free     shared    buffers     cached
Mem:          3835       3828          7          5       1335       2059
-/+ buffers/cache:        433       3402
Swap:         1023          0       1023


  procs                      memory                      swap          io     system         cpu
 r  b  w   swpd   free      buff         cache      si  so    bi    bo   in    cs  us  sy  id
 5  0  1    736   8236 1367124 2108452   0   0     1    12    3     1  11   5  13
 4  0  0    736   8156 1367132 2108460   0   0     0   172  370   404  98   2   0
 4  0  1    736   8172 1367132 2108468   0   0     0     0  281   309  99   1   0
 4  0  1    736   8168 1367132 2108480   0   0     0   162  288   366 100   0   0
 5  0  1    736   8128 1367132 2108488   0   0     0     0  287   342  99   1   0
 4  0  1    736   8136 1367132 2108496   0   0     0   148  286   322 100   1   0
 5  0  1    736   8180 1367132 2108504   0   0     0     0  275   332  98   2   0
 4  0  2    736   8148 1367132 2108512   0   0     0    10  267   326  99   1   0
 4  0  1    736   8184 1367136 2108520   0   0     0   190  288   357  99   1   0
 4  0  0    736   8104 1367136 2108536   0   0     0    10  298   404  99   1   0
 4  0  2    736   7980 1367140 2108540   0   0     0   254  332   414  99   1   0
 4  0  0    736   7968 1367140 2108548   0   0     0    20  286   408  98   2   0
 5  0  1    736   7972 1367140 2108560   0   0     0     0  346   418  99   1   0
 4  0  1    736   7992 1367144 2108568   0   0     0   216  315   371 100   0   0
 5  0  0    736   8004 1367144 2108576   0   0     0     0  285   358 100   0   0
 5  0  0    736   7956 1367144 2108588   0   0     0   158  333   392 100   0   0
 6  0  2    736   7928 1367144 2108596   0   0     0     0  326   383  99   1   0
 6  0  2    736   8064 1367144 2108604   0   0     0     0  291   356 100   0   0
 4  0  0    736   8056 1367148 2108616   0   0     0   180  301   376  99   1   0
 4  0  1    736   8016 1367148 2108624   0   0     0    34  335   413  99   1   0


Above, i can see two things happened-

1> in "top" output teh httpd process eating CPU has high "TIME" value. why?
2> the vmstat output value of "r" increases. Why?

Thanks in advance


Kulbir


On Fri, Mar 13, 2009 at 6:38 PM, Tadeu Alves <tadeudca@xxxxxxxxx> wrote:

i forget the other stuff i'm using moodle with some images werving with eaccelerator running with php and i you want i can send a conf file about mysql, php and apache if you would like to.

On Fri, Mar 13, 2009 at 2:45 PM, Anthony J. Biacco <abiacco@xxxxxxxxxxxxxxxxxx> wrote:

1. I have to rail totally against this. The more you lower MaxRequestsPerChild, the more often apache is killing and recreating a child process. At numbers as low as 2000 or lower, you’re starting to defeat the whole purpose of using the worker mpm.

>=50% of apache’s time is going to be spent managing child processes on a high traffic site. MaxRequestsPerChild should either be 0 or something very high. IF your process memory usage gets higher and higher, then you have a memory leak somewhere.

2. Don’t use ThreadLimit, stick with ThreadsPerChild

3. You MaxClients doesn’t sync up to your other numbers. MaxClients is going to be ServerLimit x ThreadsPerChild. So for you, 1500. If you want to serve 1500 concurrent reqs, then set MaxClients to match this at 1500. If you want 500, then change ServerLimit,StartServers and ThreadsPerChild so the math is right. For instance, ServerLimit 10, StartServers 5, ThreadsPerChild 50 will be you a MaxClients of 500.

If you give us your server parameters (cpu, memory, modules loaded, apache rss usage, types of files served), we’d be able to better recommend numbers for what your server can support.

 

-Tony

---------------------------

Manager, IT Operations

Format Dynamics, Inc.

303-573-1800x27

abiacco@xxxxxxxxxxxxxxxxxx

http://www.formatdynamics.com

 

From: Tadeu Alves [mailto:tadeudca@xxxxxxxxx]
Sent: Friday, March 13, 2009 8:45 AM
To: users@xxxxxxxxxxxxxxxx
Subject: Re: Apache Tunning

 

nice one. Getting on this hook, in my server we run moodle i dunno if you guys know about it and a very high hits/second i wan't to know if going down about MaxRequestsPerChild 500 will be good to performance and any idea about changing my server variables to make it support more concurrent connections

 

########################################

<IfModule worker.c>
ServerLimit          30
ThreadLimit          70
StartServers           20
MaxClients            500
MinSpareThreads        10
MaxSpareThreads        15
ThreadsPerChild        50
MaxRequestsPerChild  2000
MaxMemFree          5000
#ReceiveBufferSize  714400 (not using anymore)

 

#################################



 

On Fri, Mar 13, 2009 at 5:41 AM, Gaurav Khambhala <gaurav@xxxxxxxxxxxxxx> wrote:

Hi Kulbir,



Gaurav wrote:

Tadeu Alves wrote:

i thibk that you can down the variable
 MaxRequestsPerChild  20000 to 2000 it's too much and if the child process keeps the request well i't grows bigger and bigger in memory


Even 2000 is too much. Various high load,high traffic servers also don't have this much high value.

 

Found this: http://rimuhosting.com/howto/memory.jsp may be useful to you.




--
Cheers,


Gaurav Khambhala
i-hack-at-DeepRoot Linux
Getting GNU/Linux to work for you. Faster. Better. Today. Every way.
http://www.deeproot.in, +91 80 4089 0000


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
 "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx

 

 

 



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux