Przed uruchomieniem konfiguruję stos nginx i optymalizuję konfigurację. Uruchamiając ab, aby przetestować maszynę w warunkach skrajnych, byłem rozczarowany, widząc, że wszystko osiąga szczyt przy 150 żądaniach na sekundę, a znaczna liczba żądań zajmuje> 1 sekundę. Co dziwne, sama maszyna nawet nie oddychała ciężko.
W końcu pomyślałem o pingowaniu pudełka i zobaczyłem czasy pingowania około 100-125 ms. (Ku mojemu zaskoczeniu maszyna jest w całym kraju). Wygląda więc na to, że w moich testach dominują opóźnienia sieci. Uruchomienie tych samych testów z komputera w tej samej sieci co serwer (czasy ping <1ms) i widzę> 5000 żądań na sekundę, co jest bardziej zgodne z tym, czego oczekiwałem od komputera.
Ale to sprawiło, że pomyślałem: jak określić i zgłosić „realistyczną” miarę żądań na sekundę dla serwera WWW? Zawsze widzisz stwierdzenia dotyczące wydajności, ale czy nie należy brać pod uwagę opóźnień w sieci? Jasne, że mogę obsłużyć 5000 żądań na sekundę na maszynie obok serwera, ale nie na maszynie w całym kraju. Jeśli mam dużo wolnych połączeń, ostatecznie wpłyną one na wydajność mojego serwera, prawda? Czy też myślę o tym źle?
Wybacz, jeśli to 101 inżynierii sieci. Z wykształcenia jestem programistą.
Aktualizacja: Edytowane dla przejrzystości.
ab
ma opcję współbieżności. Co to ustawiłeś? Ponadto, jeśli testujesz z krajowego połączenia ADSL, test prawdopodobnie będzie zdominowany przez twoje pasmo i w ogóle nie będzie testował niczego na serwerze.