Perrin Harkins wrote:
> On Thu, 2004-04-08 at 11:48, Pascal Felber wrote:
> > The server is a [EMAIL PROTECTED]
> > 512MB, running linux 2.4.18-3, Apache 2.0.48, and mod_perl 1.99_08.
> 
> That came out more than a year ago.  You should be running 
> the latest (1.99_13 at the moment) if you're going to do this 
> kind of stress testing.

I have tried with the latest release but did not see noticable changes.

> You haven't given us much to go on here.  Can you post the 
> relevant sections of your conf file(s) (i.e. not the 
> boilerplate stuff) and some of your code?

It is mostly the default apache 2.0.48 configuration. I am using prefork
MPM, with the following parameters:

  StartServers         5
  MinSpareServers      5
  MaxSpareServers     10
  MaxClients         150
  MaxRequestsPerChild  0

I have installed a PerlResponseHandler on a directory of my Web servers.
To track down the problem, I have used a module that simply redirects
the client to another server, as shown in the following code:

  sub handler {
    my $r = shift;

    $r->content_type('text/html');
    $r->headers_out->set(Location => "http://www.eurecom.fr";);

    return Apache::REDIRECT;
  }

My client test program does not follow the redirection, so any URL would
do.



Stas Bekman wrote:
> Neither you are giving us a proper problem report :( We can't even
tell 
> whether you are using the prefork or the worker MPM. If you are using
the 
> worker mpm that will explain your observation. Starting a new
interpreter 
> under server with many loaded modules at run time is *very* slow, due
to perl 
> (not mod_perl). If you are using prefork then you may get new
processes 
> spawned, but usually forks are very fast. So my guess is that you are
using 
> the worker mpm.

I am using the prefork MPM, and I also tried to change the configuration
values so that no new process is ever started during the tests. I made
sure that memory does not fill and the swap is never used during the
tests.



David Hodgkinson wrote:
> What else is running on the machine? what does vmstat show?

There is nothing exotic running on the machine. In fact, it is a
standard RedHat 7.3 distribution with several network services disabled.

Here is the output of vmstat every 10 seconds during a stress test. Do
you notice anything abnormal that would explain the spikes I observe
every 30 seconds? It looks like the 'bo' value is quite irregular.

   procs                      memory    swap          io     system
cpu
 r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us
sy  id
 0  0  1      0  68964  80692 195016   0   0     0     7   58    60   1
0  17
 0  0  0      0  68964  80692 195016   0   0     0     5  116    16   0
0 100
 0  0  0      0  68964  80692 195016   0   0     0     2  151    38   0
0 100
 0  0  0      0  60952  80692 195020   0   0     0     5  392   167   6
1  93
 0  0  0      0  60952  80692 195020   0   0     0    25  458   293   1
1  98
 1  0  0      0  60940  80696 195020   0   0     0     4  613   407   1
1  98
 0  0  0      0  60948  80696 195020   0   0     0     4  750   518   3
2  95
 2  0  0      0  60932  80696 195020   0   0     0     4  863   582   4
3  93
 2  0  0      0  60932  80696 195020   0   0     0     4 1042   696   3
2  94
 1  0  0      0  60940  80696 195020   0   0     0     4 1221   840   4
4  92
 1  0  0      0  60940  80700 195016   0   0     0    14 1329   888   3
3  93
 2  0  0      0  60932  80700 195016   0   0     0     4 1508  1000   4
5  91
 0  0  0      0  60948  80700 195016   0   0     0     4 1688  1091   6
5  90
 2  0  0      0  60932  80700 195016   0   0     0     4 1794  1143   8
6  86
 1  0  0      0  60940  80700 195016   0   0     0     4 2014  1268  10
7  82
 3  0  0      0  60924  80700 195016   0   0     0     4 2145  1340  13
5  82
 1  0  0      0  60940  80700 195016   0   0     0    14 2271  1398  13
10  78
 3  0  0      0  60924  80700 195016   0   0     0     4 2455  1512  18
15  67
 1  0  0      0  60940  80704 195012   0   0     0     4 2529  1525  19
11  70
 5  0  0      0  60900  80704 195012   0   0     0     4 2487  1487  18
10  72
 0  0  0      0  60948  80704 195012   0   0     0     4 2468  1503  15
12  73
 3  0  0      0  60892  80704 195012   0   0     0     4 2424  1486  15
11  74
 1  0  0      0  60940  80704 195012   0   0     0    14 2430  1496  14
10  75
 1  0  0      0  60940  80704 195012   0   0     0     4 2363  1442  15
9  76
 1  0  0      0  60940  80704 195012   0   0     0     4 2211  1366  15
7  78
 2  0  0      0  60932  80704 195012   0   0     0     4 1966  1228   8
7  85
 1  0  0      0  60940  80704 195012   0   0     0     4 1887  1195   9
4  88
 0  0  0      0  60948  80704 195012   0   0     0     4 1790  1161   7
12  81
 0  0  0      0  60936  80708 195012   0   0     0    47 1591  1031  13
10  77
 0  0  0      0  60936  80708 195012   0   0     0     4 1435   975  11
14  75
 1  0  0      0  60928  80708 195012   0   0     0     4 1289   877  12
16  72
 1  0  0      0  60928  80708 195012   0   0     0     4 1144   789  11
14  75
 0  0  0      0  60936  80708 195012   0   0     0     4  958   668  11
14  75
 0  0  0      0  60936  80708 195012   0   0     0     4  913   620  10
15  75
 1  0  0      0  60928  80708 195012   0   0     0    13  677   461   8
11  81
 0  0  0      0  60936  80708 195012   0   0     0     4  511   335   3
8  88
 0  0  0      0  60936  80708 195012   0   0     0     4  380   237   2
8  90
 0  0  0      0  60936  80708 195012   0   0     0     4  240   124   1
3  96
 0  0  0      0  60936  80708 195012   0   0     0     4  115    15   0
0 100
 0  0  0      0  60936  80708 195012   0   0     0     0  104     7   0
0 100




Now, the interesting thing is that I ran the same test on a machine with
a slower CPU but running kernel 2.6.3 (Mandrake 10), and there are
almost no spikes (they do not exceed 100ms). Maybe this is due to the
scheduler (?)

Thanks again for your help,
Pascal Felber


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to