PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mod_perl benchmark merkwürdig



Froschpopo
02.03.06, 17:41
Von wegen schlechte Datenstrukturen.
Hier mein getestetes Script:


#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "hallo";


Hier sind die Benchmarks mit folgender Einbindung in der httpd.conf:


<FilesMatch "hallo\.pl$">
SetHandler perl-script
PerlHandler ModPerl::Registry
Options +ExecCGI
</FilesMatch>

ERGIBT:


Server Software: Apache/2.0.53
Server Hostname: localhost
Server Port: 80

Document Path: /cgi-bin/hallo.pl
Document Length: 29 bytes

Concurrency Level: 5
Time taken for tests: 0.643215 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 17400 bytes
HTML transferred: 2900 bytes
Requests per second: 155.47 [#/sec] (mean)
Time per request: 32.161 [ms] (mean)
Time per request: 6.432 [ms] (mean, across all concurrent requests)
Transfer rate: 24.88 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 8 16 3.7 18 23
Processing: 7 14 8.7 12 91
Waiting: 7 13 8.7 12 90
Total: 18 30 9.2 30 112

Percentage of the requests served within a certain time (ms)
50% 30
66% 31
75% 32
80% 33
90% 34
95% 38
98% 48
99% 112
100% 112 (longest request)


Jetzt OHNE Einbindung von modperl:


Server Software: Apache/2.0.53
Server Hostname: localhost
Server Port: 80

Document Path: /cgi-bin/hallo.pl
Document Length: 29 bytes

Concurrency Level: 5
Time taken for tests: 0.562186 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 17400 bytes
HTML transferred: 2900 bytes
Requests per second: 177.88 [#/sec] (mean)
Time per request: 28.109 [ms] (mean)
Time per request: 5.622 [ms] (mean, across all concurrent requests)
Transfer rate: 28.46 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 10 14 1.9 15 19
Processing: 7 12 2.7 12 21
Waiting: 6 11 2.7 12 21
Total: 18 27 2.5 27 37

Percentage of the requests served within a certain time (ms)
50% 27
66% 28
75% 28
80% 29
90% 31
95% 31
98% 34
99% 37
100% 37 (longest request)


Meine Frage: warum ist das einfachste script der Welt MIT modperl fast doppelt so langsam wie ohne modperl?
Welchen Sinn erfüllt denn dann modperl überhaupt?

Ich habe folgendes Bench genutzt:
ab2 -n 100 -c 5 http://localhost/cgi-bin/script.pl

chrigu
02.03.06, 17:48
Meine Frage: warum ist das einfachste script der Welt MIT modperl fast doppelt so langsam wie ohne modperl?

Ist neuerdings 155 die Hälfte von 177?

Gruss,
Chrigu

marce
02.03.06, 18:00
anhand welcher Zahlen kommst Du denn zu der Aussage?

... und ausserdem sind bei derlei kleinen Scripten meist andere Faktoren ausschlaggebend...

Froschpopo
02.03.06, 22:29
also ich habe jetzt eigentlich folgende beiden dinge verglichen:

MIT MODPERL:
Requests per second: 155.47 [#/sec] (mean)
100% 112 (longest request)

OHNE MODPERL
100% 37 (longest request)
Requests per second: 177.88 [#/sec] (mean)

ich werd daraus einfach nicht schlau!
vergleicht doch mal "longest request" miteinander. Warum ist modperl bei den anfragen schneller, braucht aber allgemein länger für alle?
Wo ist denn da die Logik?

Froschpopo
03.03.06, 17:54
die ergebnisse sind dem obigen post auch noch sehr ähnlich, wenn ich ab2 von einer anderen maschine ausführe. ab2 und mod_perl nutzen also nicht denselben cpu. Eine Verfälschung durch ab2 ist daher ausgeschlossen.