[TYPO3] Stability & performance problem

Piotr Burda pburda at narty.pl
Tue Feb 21 14:54:59 CET 2006


Michael Scharkow napisał(a):

> 
> However, your server should not panic even in worst case scenarios like 
> "everybody calls your pages with no_cache=1".
> 
> *HINT*
> Your server should easily manage 35 req/s even with no_cache=1 on.
> 
> Read on in our article, and apply the tips and tricks:
> 
> 1. You *need* to run eaccelerator (or Zend optimizer) with enough memory
> 2. You need to make sure your MySQL does not cause much load, so 
> configure the query cache, make sure you have a nice connection limit
> 3. You need to configure the apache, Look into max_clients in 
> httpd.conf, since you get DOSed so quickly, chances are they are set too 
> high: start with 64 to 100 maxclients.
> 
> And please provide some benchmarks, so I don't have to guess all the time.
> 

Some informations about software

Server Version: Apache/2.0.54 (Fedora)
Server Built: Jan 17 2006 06:36:08

PHP 5.0.4

MYSQL 4.1.16

eaccelerator installed

we are using query_cache

maxclients i set to 64

And some benchmarks:

1. static page

Server Software:        Apache/2.0.54
Server Hostname:        ............
Server Port:            80

Document Path:          /static-file.html
Document Length:        71680 bytes (+ - our page weight)
startowa nart)

Concurrency Level:      100
Time taken for tests:   2.64741 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      74016036 bytes
HTML transferred:       73718404 bytes
Requests per second:    484.32 [#/sec] (mean)
Time per request:       206.474 [ms] (mean)
Time per request:       2.065 [ms] (mean, across all concurrent requests)
Transfer rate:          35007.30 [Kbytes/sec] received

Connection Times (ms)
                min  mean[+/-sd] median   max
Connect:        0    4   4.3      3      18
Processing:    22  196 450.6     41    1579
Waiting:       12  149 382.3     22    1538
Total:         29  200 454.4     44    1596

2. dynamic page

  maxclients 64

Server Software:        Apache/2.0.54
Server Hostname:        www.narty.pl
Server Port:            80

Document Path:          /
Document Length:        71196 bytes

Concurrency Level:      64
Time taken for tests:   238.422956 seconds
Complete requests:      1000
Failed requests:        404
    (Connect: 0, Length: 404, Exceptions: 0)
Write errors:           0
Total transferred:      43068661 bytes
HTML transferred:       42838987 bytes
Requests per second:    4.19 [#/sec] (mean)
Time per request:       15259.069 [ms] (mean)
Time per request:       238.423 [ms] (mean, across all concurrent requests)
Transfer rate:          176.40 [Kbytes/sec] received

Connection Times (ms)
               min  mean[+/-sd] median   max
Connect:        0   70 318.9      0    1723
Processing:    50 13470 19433.1   4599  199077
Waiting:       50 13286 19124.6   4496  188677
Total:         50 13541 19504.4   4602  199077

Percentage of the requests served within a certain time (ms)
   50%   4602
   66%  16695
   75%  22412
   80%  24688
   90%  37134
   95%  50730
   98%  67549
   99%  79323
  100%  199077 (longest request)

  maxclients 32

Server Software:        Apache/2.0.54
Server Hostname:        www.narty.pl
Server Port:            80

Document Path:          /
Document Length:        71196 bytes

Concurrency Level:      32
Time taken for tests:   372.277402 seconds
Complete requests:      1000
Failed requests:        32
    (Connect: 0, Length: 32, Exceptions: 0)
Write errors:           0
Total transferred:      69134036 bytes
HTML transferred:       68919750 bytes
Requests per second:    2.69 [#/sec] (mean)
Time per request:       11912.877 [ms] (mean)
Time per request:       372.277 [ms] (mean, across all concurrent requests)
Transfer rate:          181.35 [Kbytes/sec] received

  maxclients 72 jednoczesne wywołanie 32 żądań

Server Software:        Apache/2.0.54
Server Hostname:        www.narty.pl
Server Port:            80

Document Path:          /
Document Length:        705 bytes

Concurrency Level:      32
Time taken for tests:   209.198896 seconds
Complete requests:      1000
Failed requests:        488
    (Connect: 0, Length: 488, Exceptions: 0)
Write errors:           0
Total transferred:      35336360 bytes
HTML transferred:       35104608 bytes
Requests per second:    4.78 [#/sec] (mean)
Time per request:       6694.364 [ms] (mean)
Time per request:       209.199 [ms] (mean, across all concurrent requests)
Transfer rate:          164.95 [Kbytes/sec] received

Connection Times (ms)
               min  mean[+/-sd] median   max
Connect:        0    8  58.9      0     533
Processing:    46 6327 11238.4   1609  143947
Waiting:       26 6181 11081.4   1592  143924
Total:         46 6336 11235.5   1625  143947

Percentage of the requests served within a certain time (ms)
   50%   1625
   66%   4811
   75%   6710
   80%   8295
   90%  21025
   95%  31920
   98%  41084
   99%  46614
  100%  143947 (longest request)


after some changes, according to your article online stats shows this 
results:
Current Time: Tuesday, 21-Feb-2006 14:49:01 CET
Restart Time: Tuesday, 21-Feb-2006 12:50:03 CET
Parent Server Generation: 1
Server uptime: 1 hour 58 minutes 58 seconds
Total accesses: 62536 - Total Traffic: 500.7 MB
CPU Usage: u2481.63 s138.33 cu1.42 cs0 - 36.7% CPU load
8.76 requests/sec - 71.8 kB/second - 8.2 kB/request
4 requests currently being processed, 28 idle workers


Piotr




More information about the TYPO3-english mailing list