Java – symulacja wielu klientów w aplikacji klient serwer.

0

Witam.

Mam następujące pytanie, mianowicie: jakie znacie praktyczne metody symulacji wielu klientów łączących się do aplikacji serwerowej? O co mi chodzi: załóżmy że mamy aplikację służącą do komunikacji wiadomościami tekstowymi, ot taki Skype bez obsługi wideo. Chciałbym przeprowadzić symulację u siebie lokalnie na komputerze z takim scenariuszem: odpalam aplikację serwerową i łączę się do niej czteroma-pięcioma klientami z czego chciałbym aby każdy z klientów miał inne IP aby jak najbardziej zbliżyć warunki symulacji do prawdziwego środowiska użytkowego. Czy testując takie aplikację uruchamiacie klientów na rożnych maszynach wirtualnych czy też macie jakieś narzędzia które wam w tym pomaga?

Dodatkowo apka kliencka ma działać pod Windowsem i Pingwinem przez co właśnie skłaniałbym się do rozwiązania z maszynami wirtualnymi, ale zostaje pytanie: jak? Czy ktoś z forumowiczów już to robił i ma jakieś doświadczenie którym mógłby się podzielić? ;) Sytuacją idealną byłoby uzyskanie poglądu na jednym ekranie (mniej więcej) zobrazowanego na dołączonym zrzucie ekranowym. Zaznaczę że nie chce testować jedynie samej logiki ale również to jak okna aplikacji reagują na poszczególne zmiany i sygnały więc pisanie jakiś suchych testów raczej odpada.

0

niby OK ale ja nie mam sprzętu, na którym mógłbym odpalić np. 10 maszyn z windowsem. Licząc lekko po 2GB na maszynę to już masz 20GB RAM. Do tego jeszcze z 4GB dla systemu głównego. Jeśli już to mam dostęp do paru serwerów z windowsem i linuxem, które mogę wykorzystać do testów odpalając na nich po kilka klientów. Natomiast jak już to albo odpalam drugi komputer albo maszynę wirtualną (jedną), ustawiam im internet mobilny (wystarczy komórka z jakimś pakietem danych i nowszym androidem) i odpalam na nim kilkanaście/dziesiąt klientów, które symulują akcje usera. Tak naprawdę nie ma znaczenia czy masz z jednego IP czy z różnych i czy jest to ten sam komp. Jeśli nie wyłożysz serwera na localhost to raczej nie wyłożysz go po sieci. Jedynie czas reakcji będzie mniejszy.

0

Piszesz funkcję odpytującą serwer. Następnie uruchamiasz ją wielowątkowo. 1000 wątków spokojnie odpalisz na jednym kompie, ale taka ilość i tak jest niepotrzebna.

0
MrMadMatt napisał(a):

Witam.

Mam następujące pytanie, mianowicie: jakie znacie praktyczne metody symulacji wielu klientów łączących się do aplikacji serwerowej?

Używam narzędzi do tego przeznaczonych, naprzykład Gatling - ma świetne raporty <a href=https://www.google.pl/search?q=gatling+io+reports&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjR3Kjt4YTVAhUrJ5oKHRorAP8Q_AUIBigB&biw=2048&bih=1047>gatling io reports</a>.

ps. Strona gatlinga za pierwszym linkiem powyżej posiada dużą ilość javascriptu, you've been warned.

1 użytkowników online, w tym zalogowanych: 0, gości: 1