Skocz do zawartości
pers

Badanie wydajnosci apache nginx IIS

Polecane posty

informatyka , politechnika nie powiem jaka :)


Własnie testuje index.php z wordpressa , pliki html i php z zapytaniem do bazy danych. Zrobie to samo na nginx, apache oraz windows serwer. W niektórych przypadkach 4 rdzenie na 100% obciążone są i 2giga ramu użyte

Edytowano przez pers (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Tzn. przy odpowiedniej konfiguracji nginx'a z PHP powinieneś mieć zajęty cały RAM (jeśli procek jest szybki) i procek na 100%, bo właśnie o to chodzi, żeby wykorzystać całą moc maszyny. Pomijam, że niektórzy mają 100% zużycia pomimo słabych wyników, ale to kwestia ich konfiguracji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

root@debian:/var/www# ab -n25000 -c200 -k http://localhost/bazadanych.php
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 localhost (be patient)
Completed 2500 requests
Completed 5000 requests
Completed 7500 requests
Completed 10000 requests
Completed 12500 requests
Completed 15000 requests
Completed 17500 requests
Completed 20000 requests
Completed 22500 requests
Completed 25000 requests
Finished 25000 requests


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

Document Path: /baza.php
Document Length: 3 bytes

Concurrency Level: 200
Time taken for tests: 7.969 seconds
Complete requests: 25000
Failed requests: 2940
(Connect: 0, Receive: 0, Length: 2940, Exceptions: 0)
Write errors: 0
Keep-Alive requests: 24816
Total transferred: 6236425 bytes
HTML transferred: 123713 bytes
Requests per second: 3136.99 [#/sec] (mean)
Time per request: 63.755 [ms] (mean)
Time per request: 0.319 [ms] (mean, across all concurrent requests)
Transfer rate: 764.20 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 2.1 0 35
Processing: 1 32 242.2 17 6169
Waiting: 0 23 131.7 17 6169
Total: 1 32 242.7 17 6197

Percentage of the requests served within a certain time (ms)
50% 17
66% 18
75% 19
80% 20
90% 29
95% 34
98% 41
99% 55
100% 6197 (longest request)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przepraszam jeśli nie doczytałem i ktoś to już napisał, ale zrób na każdej konfiguracji testy dla pliku .html jakiegoś i dla pliku .php. Wtedy porównasz sobie obsługę treści statycznych i dynamicznych. Ew. dorzuć do tego jakieś regułki rewrite lub obrazki, czy kompresję gzip.

 

Jeżeli nie miałeś linux'a na studiach to możesz mi podać na jakim kierunki i na jakiej uczelni jesteś? Niedługo zdobędę technika informatyka i teraz nie wiem czy mam iść po studia, czy tłumaczyć na każdej rozmowie o pracę dlaczego nie zmarnowałem kolejnych 5 lat życia.

 

Jeśli masz zamiar iść na politechnikę to rzeczywiście zastanów się 2x czy jest sens :).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

robię to samo dla index.php i 4 rdzenie na 100%obciązone, Zużycie ramu 2,5GB/3,9 a test jeszcze sie nie skonczył


robię to samo dla index.php i 4 rdzenie na 100%obciązone, Zużycie ramu 2,5GB/3,9 a test jeszcze sie nie skonczył

 

oto wynik

 

root@debian:/var/www# ab -n25000 -c200 -k http://localhost/index.php
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 localhost (be patient)
Completed 2500 requests
Completed 5000 requests
Completed 7500 requests
Completed 10000 requests
Completed 12500 requests
Completed 15000 requests
Completed 17500 requests
Completed 20000 requests
Completed 22500 requests
Completed 25000 requests
Finished 25000 requests


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

Document Path: /index.php
Document Length: 0 bytes

Concurrency Level: 200
Time taken for tests: 595.985 seconds
Complete requests: 25000
Failed requests: 0
Write errors: 0
Non-2xx responses: 25000
Keep-Alive requests: 0
Total transferred: 7825000 bytes
HTML transferred: 0 bytes
Requests per second: 41.95 [#/sec] (mean)
Time per request: 4767.881 [ms] (mean)
Time per request: 23.839 [ms] (mean, across all concurrent requests)
Transfer rate: 12.82 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 34.1 0 3003
Processing: 194 4758 659.2 4701 15498
Waiting: 194 4748 655.7 4691 15432
Total: 198 4759 663.0 4701 15574

Percentage of the requests served within a certain time (ms)
50% 4701
66% 4869
75% 4983
80% 5057
90% 5257
95% 5443
98% 5704
99% 6034

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czy ktoś wie czy jest taka możliwość, że symuluje na wordpresie sytuacje gdy 10 użytkowników np komentuje post ->następnie ta operacja jest zapisywana gdzies do logu bodajże linuxowego albo wordpresowego> a następnie benchmarkiem jakimś powtarzam tą operacje z logu kilkukrotnie? Da się coś takiego zrobić?

 

 

Bo skanowanie samego index.php na surowym wordpressie jest ponoć bez sensu, na tej stronie mają być wykonywane jakieś operacje komentarze , logowanie userów.

Edytowano przez pers (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ale po co?
Masz za zadanie przeprowadzić benchmark serwerów http, a nie aplikacji blogowych etc..
Powtarzam CI to n'ty raz. Poczytaj trochę i zacznij rozróżniać podstawowe pojęcia. Serwery www same w sobie nie służą do interpretacji języków, tylko do obsługi requestów http. Więc masz benchmarkować coś statycznego. Jak już chcesz to puść benchmark na mały plik i oprócz tego na duży, ale nie na interpretatory.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×