Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Stress testing - szukam narzędzia...
Forum PHP.pl > Forum > Serwery WWW
sowiq
Witam,
krótko czego potrzebuję.

Szukam narzędzia, które będzie potrafiło zapisać requesty przychodzące na serwer (np. przez 10 minut) i później odtworzyć ten ruch na lokalnym serwerze w celu zrobienia testów wydajnościowych przed updatem serwera produkcyjnego. Problem jest na tyle nietrywialny, że ruch jest rzędu kilkuset requestów na sekundę w zależności od pory dnia (amerykański serwis).

Innym narzędziem, które mogłoby być przydatne byłoby coś w rodzaju pająka, który wchodziłby na losowe podstrony z określoną/losową częstotliwością. Mógłby być np. uruchomiony na kilku komputerach w LAN'ie (coś w rodzaju małego DDOS, ale na różne podstrony w serwisie).

Dodam od razu, że Apach'owe ab nie jest tym, czego szukam ze względu na możliwość wysyłania requestów pod jeden stały adres.

Z góry dzięki za sugestie.
antyqjon
Ad 2., może Siege? Nie używałem, ale ponoć można mu podać plik z listą adresów do gwałcenia, z których będzie sobie losował.
sowiq
@antyqjon,
dziękuję za odpowiedź, ale nie o takie coś chodziło.

Dla potomnych, bo ktoś na pewno będzie szukał:
Najlepszym narzędziem, jakie znalazłem jest jMeter. Na początku starałem się omijać ten program, bo słyszałem niepochlebne opinie od znajomych, ale w końcu się za niego zabrałem.

O programie:
- darmowy!
- napisany w Javie, więc działa... wszędzie smile.gif
- można odpalić go (i zarządzać jego pracą) zdalnie na wielu maszynach
- graficzny interfejs do układania scenariuszy testów + możliwość odpalenia ułożonego testu z wiersza poleceń
- możliwość wysyłania wieloetapowych formularzy, a każdy kolejny może być zależny od poprzedniego etapu - program obsługuje wyrażenia regularne np. na wyniku zapytania, czy zwróconych przez serwer nagłówkach
- obsługa logowania na jednej stronie (obsługuje cookies) + przeglądanie innych stron jako zalogowany user (np. listę adresów zapisaną na w XML, CSV, czymkolwiek innym)
- GET, POST, OPTIONS, multipart (wysyłanie pliku)
- możliwość symulowania wielu jednoczesnych użytkowników na stronie, z czego każdemu z nich można ustawić losowy czas każdego 'kliknięcia' (np. 1k userów, z czego każdy z nich wykonuje kolejnego request'a w losowym czasie co 3-10 sek)
- z tego co wiem jMeter może pracować jako wtyczka do NetBeans'a oraz Eclipce (nie sprawdzałem)

Jednym słowem jestem zafascynowany mnogością opcji i możliwości, chociaż na razie zapewne poznałem tylko ich niewielką część. Jedyna wada to ilość dokumentacji - początki są dosyć trudne, ale szybko można wszystko opanować.
http://thecamels.org/2009/05/11/testy-wyda...-apache-jmeter/

Polecam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.