Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

FreeBSD: Webserver ungewöhnlich langsam

Diskussion: FreeBSD: Webserver ungewöhnlich langsam im Forum Linux/UNIX, in der Kategorie Operating Systems; Hallo, ich habe mir gerade das Wochenend-Projekt aufgehalst aus einem Debian-Server einen FreeBSD-Server zu machen und die Kiste treibt mich ...

Like Tree1Likes
  • 1 Post By sieben

Antwort
Alt 19.04.13, 21:50   #1 (permalink)
Träger des silbernen Seepferdchens
 
Benutzerbild von sieben
 
Registriert seit: 24.04.02
sieben Leistung: Z3
Likes: 11
erledigt FreeBSD: Webserver ungewöhnlich langsam

Hallo,

ich habe mir gerade das Wochenend-Projekt aufgehalst aus einem Debian-Server einen FreeBSD-Server zu machen und die Kiste treibt mich gerade in den Wahnsinn.

Bei einem Benchmark mit einer 56550 Bytes großen Datei liefert der Apache etwa 200-400 Requests pro Sekunde. Das ist peinlich bis schlimm. Unter Linux mit selber (völlig unoptimierten) Konfiguration sind es etwa 15400.

Bei 100 Paralellen Requests beantwortet er etwa 400 Requests die Sekunde. Bei 20 parallelen Requests nur noch 200. Nginx verhält sich equivalent.

Die Platten liefern schnell genug, Netz ist auch super, DNS-Lookups sind aus, innerhalb von Jails verhält es sich genauso wie ausserhalb, es gibt keine Einschränkungen in der /etc/login.conf, Top zeigt einen völlig gelangweilten Server. Und mir gehen wirklich die Ideen aus was da beim aufmachen neuer HTTP-Verbindungen so unglaublich ausbremst.

Irgendjemand eine tolle Idee? :-)

[Linux ohne KeepAlive] ab -n 1000000 -c 100 http://127.0.0.1/test.html   

root@linux ~ # ab -n 1000000 -c 100 http://127.0.0.1/test.html

Server Software: Apache/2.2.16
Server Hostname: 127.0.0.1
Server Port: 80

Document Path: /test.html
Document Length: 56550 bytes

Concurrency Level: 100
Time taken for tests: 65.068 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Total transferred: 56832000000 bytes
HTML transferred: 56550000000 bytes
Requests per second: 15368.43 [#/sec] (mean)
Time per request: 6.507 [ms] (mean)
Time per request: 0.065 [ms] (mean, across all concurrent requests)
Transfer rate: 852947.61 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 0.4 2 5
Processing: 1 4 1.5 4 214
Waiting: 0 2 0.7 2 25
Total: 3 6 1.5 6 216

Percentage of the requests served within a certain time (ms)
50% 6
66% 7
75% 7
80% 7
90% 7
95% 7
98% 7
99% 7
100% 216 (longest request)


[Linux mit KeepAlive] ab -n 1000000 -c 100 -k http://127.0.0.1/test.html   

root@linux ~ # ab -n 1000000 -c 100 -k http://127.0.0.1/test.html

Server Software: Apache/2.2.16
Server Hostname: 127.0.0.1
Server Port: 80

Document Path: /test.html
Document Length: 56550 bytes

Concurrency Level: 100
Time taken for tests: 40.955 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 990149
Total transferred: 56868556750 bytes
HTML transferred: 56550000000 bytes
Requests per second: 24417.28 [#/sec] (mean)
Time per request: 4.095 [ms] (mean)
Time per request: 0.041 [ms] (mean, across all concurrent requests)
Transfer rate: 1356030.76 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 3
Processing: 0 4 2.6 4 264
Waiting: 0 1 2.6 1 262
Total: 0 4 2.6 4 264

Percentage of the requests served within a certain time (ms)
50% 4
66% 4
75% 4
80% 4
90% 5
95% 5
98% 5
99% 6
100% 264 (longest request)


[FreeBSD ohne KeepAlive] ab -n 1000000 -c 100 http://127.0.0.1/test.html   

root@freebsd ~ # ab -n 1000000 -c 100 http://127.0.0.1/test.html

Server Software: Apache/2.2.24
Server Hostname: 127.0.0.1
Server Port: 80

Document Path: /test.html
Document Length: 56550 bytes

Concurrency Level: 100
Time taken for tests: 2000.132 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Total transferred: 56846000000 bytes
HTML transferred: 56550000000 bytes
Requests per second: 499.97 [#/sec] (mean)
Time per request: 200.013 [ms] (mean)
Time per request: 2.000 [ms] (mean, across all concurrent requests)
Transfer rate: 27755.01 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 100 200 0.8 200 300
Waiting: 1 100 0.8 100 201
Total: 102 200 0.8 200 301

Percentage of the requests served within a certain time (ms)
50% 200
66% 200
75% 200
80% 200
90% 200
95% 200
98% 200
99% 200
100% 301 (longest request)


[FreeBSD mit KeepAlive] ab -n 1000000 -c 100 -k http://127.0.0.1/test.html   

root@freebsd ~ # ab -n 1000000 -c 100 -k http://127.0.0.1/test.html

Server Software: Apache/2.2.24
Server Hostname: 127.0.0.1
Server Port: 80

Document Path: /test.html
Document Length: 56550 bytes

Concurrency Level: 100
Time taken for tests: 25.005 seconds
Complete requests: 1000000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 990105
Total transferred: 56882340833 bytes
HTML transferred: 56550761234 bytes
Requests per second: 39992.52 [#/sec] (mean)
Time per request: 2.500 [ms] (mean)
Time per request: 0.025 [ms] (mean, across all concurrent requests)
Transfer rate: 2221550.92 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 2
Processing: 0 2 22.3 0 322
Waiting: 0 1 12.5 0 222
Total: 0 2 22.3 0 323

Percentage of the requests served within a certain time (ms)
50% 0
66% 0
75% 0
80% 0
90% 0
95% 1
98% 1
99% 1
100% 323 (longest request)
__________________
Diese Zeile ist reserviert für Clark Kent.

Geändert von sieben (19.04.13 um 21:54 Uhr)
sieben ist offline   Mit Zitat antworten
Alt 19.04.13, 23:19   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIII
Likes: 1104
Standard

Welches MPM verwendest du und wie sehen die Settings dafür aus? Gibt es hohe IO-Waits?
bitmuncher ist offline   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 20.04.13, 01:05   #3 (permalink)
Träger des silbernen Seepferdchens
Themenstarter
 
Benutzerbild von sieben
 
Registriert seit: 24.04.02
sieben Leistung: Z3
Likes: 11
Standard

Die Benchmarks waren alles Worker. Als Prefork verhält es sich aber nur unwesentlich abweichend. Da Nginx sich ebenfalls genauso verhält, habe ich den Apachen als Fehlerquelle schon fast ausgeschlossen.

Code:
<IfModule mpm_worker_module>
    StartServers          2
    MaxClients          150
    MinSpareThreads      25
    MaxSpareThreads      75
    ThreadsPerChild      25
    MaxRequestsPerChild   0
</IfModule>
IO-Waits sehen auf den ersten Blick unauffällig aus. Das schaue ich morgen nochmal genau an. Die Kiste spricht so flüssig an und ist eher auffällig idle als ausgelastet.
__________________
Diese Zeile ist reserviert für Clark Kent.
sieben ist offline   Mit Zitat antworten
Alt 20.04.13, 02:15   #4 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIIIbitmuncher Leistung: SPARC64 VIII
Likes: 1104
Standard

Wie schnell reagiert denn z.B. der SSH-Server, sofern da einer läuft und welchen Durchsatz liefert z.B. ein scp? Wie sehen die Ping-Zeiten aus und sind sie stabil? Wenn da alles flüssig läuft, kann man das Netzwerk als Fehlerquelle auch ausschliessen.
bitmuncher ist offline   Mit Zitat antworten
Alt 20.04.13, 10:04   #5 (permalink)
Träger des silbernen Seepferdchens
Themenstarter
 
Benutzerbild von sieben
 
Registriert seit: 24.04.02
sieben Leistung: Z3
Likes: 11
Standard

Guten Morgen,

ich habe das Problem gelöst. Eigentlich hatte ich das Netzwerk als Fehler ausgeschlossen, aber weil ich dir da ein paar Werte liefern wollte habe ich auch gleich noch einen Blick über die Ausgabe von sysctl net.inet.tcp geworfen und festgestellt das net.inet.tcp.delayed_ack per Standard auf 1 steht.

sysctl net.inet.tcp.delayed_ack=0 und alles war gut. Manchmal können einen solche Defaults echt in den Wahnsinn treiben..


Danke für deine Mithilfe. :-)
bitmuncher likes this.
__________________
Diese Zeile ist reserviert für Clark Kent.
sieben ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » FreeBSD: Webserver ungewöhnlich langsam
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PC hakt ungewöhnlich Farin Ferien Die Problemzone 13 15.07.07 23:00
Apache2-Webserver zu langsam metax. Linux/UNIX 8 02.06.07 16:55
Apache2-Webserver zu langsam metax. Webmaster-Security 1 01.06.07 10:29
Zugriff auf Webserver sehr langsam .tails Internet Allgemein 4 28.06.06 23:12


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62