2012-11-12 9 views
5

Mam program serwera http uruchomiony na hoście linux powiedzieć B, który słucha portu i zużywa żądania. Próbuję wygenerować ogromne obciążenie (> 10k żądań na sekundę) do tego serwera http. W tym celu napisałem program klienta http, który będzie wielokrotnie wysyłać żądanie o stałym rozmiarze na ten serwer http od hosta A.Czy mogę symulować ładowanie ciężkiego http z jednego komputera klienta?

Jaki jest wpływ, jeśli uruchamiam wiele instancji programu httpclient na hoście A. Czy to generuje wystarczające obciążenie. Czy istnieje ograniczenie liczby klientów http, które mogę uruchomić z jednego komputera rozmawiającego z jednym portem serwera.

Moja dotychczasowa obserwacja zwiększa liczbę instancji, które nie produkują wystarczająco dużo obciążenia lub program/system operacyjny serwera http nie akceptuje. I widzę, że zużycie procesora/pamięci/sieci jest bardzo małe.

Wszelkie pomysły? Jak mogę zmierzyć wąskie gardło?

+0

Nie sądzę, istnieje jakikolwiek zakodowane limitu liczby żądań na kliencie (z wyjątkiem zabraknie portów na 65k) –

Odpowiedz

8

Wypróbuj apache ab, aby przetestować serwer WWW. Generuje równoczesne żądania http bardzo efektywnie i jest standardem defacto w tym celu.

Z ab można łatwo tworzyć wysokie obciążenie na jeden adres i analizować wyniki

http://httpd.apache.org/docs/2.2/programs/ab.html

$ ab -n 1000 -c 5 

Tworzy 1000 sumie 5 jednoczesnych żądań. Dobry poradnik, jak pracować z ab http://www.cyberciti.biz/tips/howto-performance-benchmarks-a-web-server.html

+0

Dzięki Michel. To faktycznie pomogło mi wygenerować ładunek, który chciałem. Klient http używał dobrze skali Dint, więc nie generował wystarczającego obciążenia. – techuser

Powiązane problemy