panamaark
Goto Top

Apache Reverse Proxy in DMZ1 Webserver in DMZ 2 Benchmark heftige PErformance EInbrüche normal ?!

Hallo zusammen,

ich hab momentan ein Problem bezüglich Webserver Performance und bin etwas ratlos, daher hoffe ich, dass ihr mir weiterhelfen könnt.

Erstmal folgendes Zu unserer Architektur:

Wir haben 2 DMZ Zonen. DMZ1 beinhaltet alle Server, die von außen erreichbar sind. DMZ2 beinhaltet alle Server, die über unseren Reverse Proxy (der befindet sich in DMZ1) angesprochen werden.

Unsere Firewall Appliance ist für unsere Ansprüche sogar zu stark, daher schließe ich diese erstmal als Fehlerquelle aus.


Wenn ich einen apache benchmark von einem neu aufgesetzten Server in der DMZ1 auf einen Webserver in der DMZ2 mache erhalte ich folgende Daten:

ab -c 1000 -n 10000 http://DMZ2.daten1/test

Server Software: Apache/2.2.3
Server Hostname: DMZ2.daten1
Server Port: 80

Document Path: /test
Document Length: 308 bytes

Concurrency Level: 1000
Time taken for tests: 12.962915 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Non-2xx responses: 10000
Total transferred: 5310000 bytes
HTML transferred: 3080000 bytes
Requests per second: 771.43 [#/sec] (mean)
Time per request: 1296.292 [ms] (mean)
Time per request: 1.296 [ms] (mean, across all concurrent requests)
Transfer rate: 399.99 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 10 200 682.7 90 9147
Processing: 1 772 2240.9 218 12648
Waiting: 0 772 2240.9 217 12647
Total: 139 973 2360.4 319 12930

Percentage of the requests served within a certain time (ms)
50% 319
66% 412
75% 434
80% 454
90% 1486
95% 6085
98% 12514
99% 12655
100% 12930 (longest request)

Jede Anfrage hat also im Mittel 1,296 ms benötigt und es wurden 771,43 Anfragen pro Sekunde gestellt.


Nutze ich jetzt anstatt dem direkten Weg den Reverse Proxy erhalte ich folgendes: (Nochmal als Info: Mein Server auf dem ich den benchmark ausführe steht in DMZ1, der Reverse Proxy steht auch in DMZ1)


ab -c 1000 -n 10000 http://DMZ1ReverseProxy/test


Server Software: Apache/2.2.3
Server Hostname: DMZ1ReverseProxy
Server Port: 80

Document Path: /test
Document Length: 11292 bytes

Concurrency Level: 1000
Time taken for tests: 26.923915 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 116633005 bytes
HTML transferred: 113405044 bytes
Requests per second: 371.42 [#/sec] (mean)
Time per request: 2692.392 [ms] (mean)
Time per request: 2.692 [ms] (mean, across all concurrent requests)
Transfer rate: 4230.40 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 329 1481.4 0 21003
Processing: 5 1180 3301.3 332 26866
Waiting: 3 1069 3294.1 270 26736
Total: 43 1509 3563.9 335 26902

Percentage of the requests served within a certain time (ms)
50% 335
66% 702
75% 778
80% 819
90% 3655
95% 9462
98% 9723
99% 26794
100% 26902 (longest request)


Ich habe jetzt nur noch 371,42 Anfragen pro Sekunde und die Zeit pro Anfrage ist auf 2,692 ms hochgegangen.


Mir ist klar, dass 1000 gleichzeitige Anfragen jetzt nicht grade wenig sind, aber die Zeit hat sich eben mal verdoppelt. Ist das noch normales Verhalten bzw. meckere ich hier grad auf hohem Niveau ?
Mir bzw. meinem Kollegen und mir macht das jetzt nur etwas Angst, da wir bei Wahlen (öffentlicher dienst...) gerne mal mehr wie 1000 gleichzeitige ANfragen haben könnten.


Ist es überhaupt sinnvoll so mit 2 DMZ Zonen zu arbeiten ?
Jede Anfrage geht natürlich 2 mal über die Firewall.... Einmal vom Internet in DMZ1 und dann von DMZ1 in die DMZ2 ..... das benötigt selbstverständlich auch etwas Zeit.
Sind die Antwortzeiten normal ?

Vielen Dank für eure Hilfe!

Content-Key: 249795

Url: https://administrator.de/contentid/249795

Printed on: April 25, 2024 at 14:04 o'clock

Member: wiesi200
wiesi200 Sep 22, 2014 at 06:48:36 (UTC)
Goto Top
Hallo,

ich würd mir mal keinen Apache als Webserver antun wenn's nicht sein muss und erst recht nicht als Reverse Proxy.
Hier würd ich eher auf Squid setzten.
Member: Lochkartenstanzer
Solution Lochkartenstanzer Sep 22, 2014 updated at 06:59:12 (UTC)
Goto Top
Zitat von @Panamaark:

Unsere Firewall Appliance ist für unsere Ansprüche sogar zu stark, daher schließe ich diese erstmal als
Fehlerquelle aus.

Welche ist das denn? Ein rasPi oder eine Netscreen 5200? Da gibt es erhebliche Unterschiede. Aber wenn Du sagst, die ist o.k. glauben wir dir das mal.


Jede Anfrage hat also im Mittel 1,296 ms benötigt und es wurden 771,43 Anfragen pro Sekunde gestellt.

Nutze ich jetzt anstatt dem direkten Weg den Reverse Proxy erhalte ich folgendes: (Nochmal als Info: Mein Server auf dem ich den
benchmark ausführe steht in DMZ1, der Reverse Proxy steht auch in DMZ1)

Ich habe jetzt nur noch 371,42 Anfragen pro Sekunde und die Zeit pro Anfrage ist auf 2,692 ms hochgegangen.


Auf den ersten Blick würde ich sagen, daß ist plausibel, weil jetzt eine weitere Kiste dazwischen ist und daher die Anfragen durch zwei Kisten durchwandern müssen. das würde die "Halbierung" und "Verdoppelung" erklären, Insbesondere weil die Daten eben auf "demselben Draht" übertragen werden und daher nicht wirklich gleichzeitig übertragen werden können, sondern sich schön hintanstellen müssen. welche NIC-Geschwindigkeiten fahrt Ihr denn überhaupt?

Die Frage ist doch eher, welche Spitzenlast wollt Ihr auffangen und wie ist das Zugriffsmuster, mit dem Ihr zurechtkommen müsst und wird das überhaupt von dem Benchmark korrekt wiedergegeben?

lks
Member: Panamaark
Panamaark Sep 22, 2014 at 07:02:19 (UTC)
Goto Top
Unsere Firewall appliance ist eine CheckPoint 4400. Die schließ ich aus, da sie sich langweilt, wenn ich die tests mache.


Wenn bei uns Wahlen sind, und die Bürger die Wahlergebnisse ansehen möchten, rechnen wir mal mit ca. 50.000 interessierten Bürgern.
Diese kommen natürlich nicht alle gleichzeitig rein.