To jest polecenie dapltest, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
dapltest - test dla dotychczasowy Skierować Wejdź Programowanie Biblioteka (DAPL)
OPIS
Dapltest to zestaw testów opracowanych w celu ćwiczenia, charakteryzowania i weryfikacji DAPL
interfejsów podczas programowania i przenoszenia. Co najmniej dwie instancje testu muszą
Być uruchomiony. Jeden pełni rolę serwera, obsługując żądania i tworząc wątki testowe po stronie serwera jako
potrzebne. Inne wywołania klienta łączą się z serwerem i wysyłają żądania testowe. Serwer
strona testu, po wywołaniu, nasłuchuje w sposób ciągły żądań połączenia klienta, aż do momentu
zrezygnować lub zabić. Po otrzymaniu żądania połączenia następuje nawiązanie połączenia
strona serwera i klienta zamieniają się numerami wersji, aby sprawdzić, czy mogą się komunikować,
a klient wysyła żądanie testowe do serwera. Jeśli numery wersji są zgodne, a plik
żądanie testu jest dobrze sformułowane, serwer tworzy wątki potrzebne do wcześniejszego uruchomienia testu
czekam na dalsze połączenia.
ZASTOSOWANIE
dapltest [ -f nazwa_pliku_skryptu ] [ -TS|Q|T|P|L ] [ -D nazwa_urządzenia ] [-n numer_portu] [ -d
] [ -R HT|LL|EC|PM|BE ]
Bez argumentów dapltest działa jako serwer, używając wartości domyślnych i akceptując pętle
żądania od klientów.
Opcja -f pozwala na umieszczenie wszystkich argumentów w pliku, aby ułatwić automatyzację testów.
Poniższe argumenty są wspólne dla wszystkich testów:
[ -T S|Q|T|P|L ]
Funkcja testowa do wykonania:
S - pętla serwera
Q - wyjdź, klient żąda, aby serwer zaczekał na zaległe testy
zakończ, a następnie posprzątaj i wyjdź
T - test transakcji, przesyła dane pomiędzy klientem a serwerem
P - test wydajności, razy operacje DTO
L - test limitu, wyczerpuje różne zasoby, działa na kliencie bez serwera
interakcja Domyślnie: S
[ -D Nazwa urządzenia ]
Określa nazwę adaptera interfejsu zgodnie z dokumentacją statyczną /etc/dat.conf
plik konfiguracyjny. Ta nazwa odpowiada bibliotece dostawcy do otwarcia.
Domyślnie: brak
[ -n numer_portu_serwera]
Określa początkowy port serwera dla wszystkich testów. Wartość domyślna: 45278
[ -d ] Umożliwia dodatkową szczegółowość debugowania, przede wszystkim śledzenie różnych operacji DAPL, takich jak
postępują. Powtarzanie tego parametru zwiększa ilość debugowania. Napotkane błędy
skutkować wyświetleniem tekstu objaśniającego i zatrzymaniem testu; zapewnia ta flaga
więcej szczegółów na temat przyczyn błędu. Wartość domyślna: zero
[ -R BE ]
Wskaż pożądaną jakość usług (QoS). Wybory to:
HT - wysoka przepustowość
LL - małe opóźnienia
EC - ekonomia (ani HT, ani LL)
PM - premia
BE - najlepszy wysiłek Domyślnie: BE
Stosowanie - porzucić test klient
dapltest [Wspólne_argumenty] [ -s nazwa_serwera ]
Zakończ testowanie (-TQ) łączy się z serwerem, prosząc o wyczyszczenie i
exit (po oczekiwaniu na zakończenie wszelkich zaległych przebiegów testowych).
Oprócz tego, że jest bardziej uprzejmy niż po prostu zabicie serwera,
ten test sprawdza ścieżki kodu usuwania obiektów DAPL.
Jest tylko jeden argument inny niż te wspierane przez wszystkie testy:
-s nazwa_serwera Określa nazwę interfejsu serwera.
Brak ustawień domyślnych.
Stosowanie - Transakcja test klient
dapltest [Wspólne_argumenty] [ -s nazwa_serwera ]
[ -t wątki] [ -w punkty końcowe] [ -i iteracje] [ -Q]
[ -V ] [ -P ] OPklient OPserver [ op3,
Testowanie transakcji (-TT) przesyła zmienną ilość danych pomiędzy
klient i serwer. Transfer danych można opisać jako sekwencję
operacje indywidualne; cała sekwencja jest przenoszona „iteracjami”
razy przez każdy wątek we wszystkich jego punktach końcowych.
Poniższe parametry określają zachowanie testu transakcji:
-s nazwa_serwera Określa nazwę lub adres IP interfejsu serwera.
Brak ustawień domyślnych.
[ -t wątki ] Określ liczbę używanych wątków.
Domyślnie: 1
[ -w punkty końcowe ] Określ liczbę podłączonych punktów końcowych na wątek.
Domyślnie: 1
[ -i iteracje ] Określ liczbę powtórzeń całej sekwencji
transferów danych zostanie zrealizowanych przez każdy punkt końcowy.
Domyślnie: 1000
[ -Q ] Skieruj zdarzenia zakończenia do CNO.
Domyślnie: użyj EVD
[ -V ] Zatwierdź przesyłane dane.
Wartość domyślna: ignoruj dane
[ -P ] Włącz odpytywanie o zakończenie DTO
Domyślnie: wyłączone
OP1 OP2 [ OP3, ... ]
Pojedyncza transakcja (OPx) składa się z:
serwer|klient Wskazuje, kto inicjuje
transfer danych.
SR|RR|RW Wskazuje rodzaj przelewu:
Wyślij/odbierz SR
RR RDMA przeczytane
RW Zapis RDMA
Wartość domyślna: brak
[rozmiar_segmentu [liczba_segmentów]]
Wskazuje kwotę i format
danych, które mają zostać przesłane.
Wartość domyślna: 4096 1
(tj. 1 bufor 4KB)
[ -f ] Tylko dla transferów SR, wskazuje
że klient wysyła przelew
zakończenie powinno nastąpić kiedy
następuje zakończenie następnego odtwarzania.
Wysyłanie i odbieranie muszą być sparowane
(jeden klient, jeden serwer i w tym
zamówienie), aby móc skorzystać z tej opcji.
ograniczenia:
Ze względu na algorytm kontroli przepływu używany w teście transakcji, nie
musi być co najmniej jednym OP SR zarówno dla klienta, jak i serwera.
Żądanie sprawdzenia poprawności danych (-V) powoduje automatyczne dołączenie testu
trzy PO do określonych. Te dodatkowe operacje zapewniają
punkty synchronizacji podczas każdej iteracji, w których wszystkie określone przez użytkownika
sprawdzane są bufory transakcji. Te trzy dołączone operacje spełniają
wymóg „jednego SR w każdym kierunku”.
Lista OP transakcji jest drukowana, jeśli podano -d.
Stosowanie - Wydajność test klient
dapltest [Wspólne_argumenty] -s nazwa_serwera [ -mp|b ]
[ -i iteracje ] [ -p potok ] OP
Testowanie wydajności (-TP) razy transfer operacji.
Operacja jest publikowana razy „iteracji”.
Poniższe parametry określają zachowanie testu transakcji:
-s nazwa_serwera Określa nazwę lub adres IP interfejsu serwera.
Brak ustawień domyślnych.
-mb|p Służy do wyboru blokowania (b) lub odpytywania (p)
Domyślnie: blokowanie (b)
[ -i iteracje ] Określ liczbę powtórzeń całej sekwencji
transferów danych zostanie zrealizowanych przez każdy punkt końcowy.
Domyślnie: 1000
[ -p potok ] Określ długość potoku, w którym znajdują się prawidłowe argumenty
zakres [0,MAX_SEND_DTOS]. Jeśli wartość jest większa niż
Zażądano MAX_SEND_DTOS, wartość będzie
skorygowano do MAX_SEND_DTOS.
Wartość domyślna: MAX_SEND_DTOS
OP Określa operację w następujący sposób:
RR|RW Wskazuje rodzaj przelewu:
RR RDMA przeczytane
RW Zapis RDMA
Wartość domyślna: brak
[rozmiar_segmentu [liczba_segmentów]]
Wskazuje kwotę i format
danych, które mają zostać przesłane.
Wartość domyślna: 4096 1
(tj. 1 bufor 4KB)
Stosowanie - Limit test klient
Testowanie limitów (-TL) nie wymaga ani nie łączy się z żadnym serwerem
instancja. Klient uruchamia jeden lub więcej testów, które próbują to zrobić
wyczerpywać różne zasoby, aby określić limity DAPL i ćwiczenia
Ścieżki błędów DAPL. Jeśli nie zostaną podane żadne argumenty, zostaną uruchomione wszystkie testy.
Testowanie limitów tworzy niezbędną sekwencję obiektów DAT
przenoś dane tam i z powrotem, próbując znaleźć obsługiwane limity
dla żądanego obiektu DAPL. Na przykład, jeśli utworzenie LMR
limit jest sprawdzany, test utworzy zestaw
{IA, PZ, CNO, EVD, EP} przed próbą uruchomienia dat_lmr_create() do
niepowodzenie przy użyciu tego zestawu obiektów DAPL. Parametr „szerokość”.
można wykorzystać do kontrolowania liczby równoległych obiektów DAPL
zestawy są tworzone przed uruchomieniem żądanego konstruktora.
Użycie opcji -m ogranicza liczbę wywołań dat_*_create().
można spróbować, co może być pomocne, jeśli używany DAPL obsługuje
w zasadzie nieograniczona liczba niektórych obiektów.
Argumenty testu granicznego to:
[ -m maksimum ] Określ maksymalną liczbę dapl_*_create()
próbowanie.
Wartość domyślna: uruchomienie w przypadku niepowodzenia tworzenia obiektu
[ -w szerokość ] Określ liczbę zestawów obiektów DAPL
utwórz podczas inicjalizacji.
Domyślnie: 1
[ limit_ia ] Próba wyczerpania dat_ia_open()
[ limit_pz ] Próba wyczerpania dat_pz_create()
[ limit_cno ] Próba wyczerpania dat_cno_create()
[ limit_evd ] Próba wyczerpania dat_evd_create()
[ limit_ep ] Próba wyczerpania dat_ep_create()
[ limit_rsp ] Próba wyczerpania dat_rsp_create()
[ limit_psp ] Próba wyczerpania dat_psp_create()
[ limit_lmr ] Próba wyczerpania dat_lmr_create(4KB)
[ limit_rpost ] Próba wyczerpania dat_ep_post_recv(4KB)
[ limit_size_lmr ] Maksymalny rozmiar sondy dat_lmr_create()
Wartość domyślna: uruchom wszystkie testy
PRZYKŁADY
dapltest -TS -d -D OpenIB-cma -n 53000
Uruchamia proces serwera z szczegółowością debugowania na porcie serwera 53000.
dapltest -TT -d -s host1-ib0 -D OpenIB-cma -n 53000 -i 100 klient SR 4096 2 serwer SR
4096 2
Przeprowadza test transakcji z obiema stronami
wysłanie jednego bufora z dwoma segmentami po 4KB,
sto razy. Do serwera Host1-ib0 na porcie 53000
dapltest -TP -d -s host1-ib0 -D OpenIB-cma -i 100 RW 4096 2
Przeprowadza test wydajności z klientem
wysłanie jednego bufora z dwoma segmentami po 4KB,
sto razy.
dapltest -TQ -s host1-ib0 -D OpenIB-cma
Prosi serwer o wyczyszczenie i wyjście.
dapltest -TL -D OpenIB-cma -d -w 16 -m 1000
Uruchamia wszystkie testy limitów i konfiguruje
16 kompletnych zestawów obiektów DAPL oraz
tworząc co najwyżej tysiąc instancji
podczas próby wyczerpania zasobów.
dapltest -TT -V -d -t 2 -w 4 -i 55555 -s linux3 -D Klient OpenIB-cma RW 4096 1 serwer RW
2048 4 klient SR 1024 4 serwer SR 4096 2 klient SR 1024 3 -f serwer SR 2048 1 -f
Uruchamia bardziej skomplikowany test transakcji,
z dwoma gwintami, każdy z czterema EP,
wysyłanie bardziej skomplikowanego wzorca bufora
dla większej liczby iteracji,
weryfikacji otrzymanych danych.
ROBAKI (i lista rzeczy do zrobienia)
Użycie CNO (-Q) nie jest jeszcze obsługiwane.
Można dodać dalsze testy graniczne.
Skorzystaj z dapltest online, korzystając z usług onworks.net