Zapewniam Cię, że na mongrelu (lub nawet jeszcze lepiej, thinie albo unicornie, które są szybsze) wyciągniesz więcej niż na fcgi :)[/quote]
być może, być może. Chodziło mi nie o porównanie z innymi serwerami ale porównanie udostępniania przez proxy w porównaniu do fcgi (mitycznego, bo nie uruchomiłem go .[/quote]
No więc powierzchownie porównałem szybkościowo dwie aplikacje (zainstalowane na tym samym serwerze:
- perl/fastcgi (z 1 selectem do postgresa) i z lighttpd jako serwerem.
2 redmine (strona startowa redmine z listą dwóch projektów. Nie wiem co tam robi z bazą ale to też postgres na tym samym lokalnym serwerze)
Wyniki mówią same za siebie, no ale w tego typu aplikacji jak Redmine szybkość nie jest ważna. Oczywiście wielką niewiadomą jest współpraca z bazą danych, chociaż szybsza dwa razy aplikacja danych ściaga z bazy także i to w sumie 5 razy więcej danych, czyli naiwnie licząc jest 10 razy szybsza.
Zwróćcie uwagę, że ja bezpośrednio łączyłem się z Redminem: 127.0.0.1:3000 a nie za pośrednictwem proxy.
=============================
ab -n 100 127.0.0.1:3000/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 127.0.0.1 (be patient)…done
Server Software: WEBrick/1.3.1
Server Hostname: 127.0.0.1
Server Port: 3000
Document Path: /
Document Length: 3239 bytes
Concurrency Level: 1
Time taken for tests: 5.199 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 369406 bytes
HTML transferred: 323900 bytes
Requests per second: 19.23 [#/sec] (mean)
Time per request: 51.990 [ms] (mean)
Time per request: 51.990 [ms] (mean, across all concurrent requests)
Transfer rate: 69.39 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 1
Processing: 33 52 43.4 36 233
Waiting: 33 52 43.4 35 233
Total: 33 52 43.4 36 234
Percentage of the requests served within a certain time (ms)
50% 36
66% 37
75% 40
80% 41
90% 86
95% 178
98% 184
99% 234
100% 234 (longest request)
=============================
ab -n 100 seal.sao.pl/seal?item=1002
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking seal.sao.pl (be patient)…done
Server Software: lighttpd/1.4.26
Server Hostname: seal.sao.pl
Server Port: 80
Document Path: /seal?item=1002
Document Length: 17777 bytes
Concurrency Level: 1
Time taken for tests: 3.730 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 1787838 bytes
HTML transferred: 1777700 bytes
Requests per second: 26.81 [#/sec] (mean)
Time per request: 37.296 [ms] (mean)
Time per request: 37.296 [ms] (mean, across all concurrent requests)
Transfer rate: 468.12 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 1 0.1 1 2
Processing: 18 36 4.8 36 49
Waiting: 15 32 4.8 33 45
Total: 20 37 4.9 38 51
Percentage of the requests served within a certain time (ms)
50% 38
66% 39
75% 39
80% 39
90% 40
95% 41
98% 49
99% 51
100% 51 (longest request)