2009-01-12 7 views
5

Niedawno utworzyłem turowy serwer gier, który może akceptować 10 z tysięcy równoczesnych połączeń klienckich (długa historia - epoll w systemie Linux). Komunikacja opiera się na prostym, niestandardowym, opartym na linii protokole. Ten serwer umożliwia klientom łączenie się, szukanie innych graczy w meczach, granie w te gry (wysyłanie ruchów, wiadomości na czacie itp.) I otrzymywanie powiadomień o zakończeniu gry.Co użyłeś do testowania (funkcjonalności/obciążenia/stresu) swojej usługi sieciowej za pomocą niestandardowego protokołu?

Tym, czego teraz chcę teraz dokonać, to przetestowanie serwera poprzez symulację połączeń klienta. Mam nadzieję, że będę obsługiwał 10 z tysięcy równoczesnych połączeń, więc to testowanie jest dla mnie bardzo ważne. Co używacie do własnych testów?

Niektóre rzeczy, które badam teraz to: pexpect (python oczekuje lib do testów funkcjonalnych) i tsung do testowania obciążenia.

Chciałbym móc przetestować z mojego laptopa, ponieważ nie mam klastra komputerów klienckich do połączenia. Być może będę musiał użyć aliasingu IP lub czegoś takiego, aby wygenerować 100 tysięcy wychodzących gniazd (limit to 65K na interfejs AFAIK).

W każdym razie wydaje mi się, że potrzebuję czegoś dość niestandardowego, ale pomyślałem, że zapytam, zanim zejdę tą drogą.

Dzięki!

Odpowiedz

1

Postanowiłem, że najlepiej będzie "przeturlać się" na początek.

1

Użyłem JMeter z niestandardowymi samplerami i komponentami asercji przed wykonaniem automatycznych testów regresji/obciążenia dla aplikacji bankowej z niestandardowym protokołem (API oparta na Java RMI).

Nie jest to jednak lekka waga, a w efekcie powstanie dodatkowe kodowanie w komponentach JMeter w celu obsługi niestandardowego protokołu. Zgaduję, że musiałbyś w tym przypadku zakodować własny klient oparty na gnieździe Java.

Ale daje to dużą elastyczność w definiowaniu logiki testowania komponentów, dzięki czemu można robić tam, co się chce. Równie ładnie się skaluje i pozwala rzucać wieloma współbieżnymi połączeniami w testowanym systemie.

0

Używamy HP LoadRunner to najnowocześniejszy produkt do testowania obciążenia. (Ale także droga). Może symulować tysiące żądań do serwera i dostarcza danych o czasie reakcji itp.

+0

$$$ Jak to jest? Ich testowanie pióra również wygląda dobrze – ccook

Powiązane problemy