Pokazywanie postów oznaczonych etykietą Grinder. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Grinder. Pokaż wszystkie posty

poniedziałek, marca 31, 2008

(Grinder: Part 4) Jak to odpalić

Musimy mieć uruchomioną konsolę (stworzyliśmy sobie plik console.sh) oraz agenta (agent.sh). W konsoli wybieramy 'Dystrybucja -> Dystrybucja plików' oraz 'Akcje -> Uruchom procesy'.

Testowy WebService zrobiony w NetBeansie i odpalony w osadzonym Glasshfish-u (albo jak kto woli: Sun Java Application Server):



50 wątków Grindera dobijało się do usługi jednocześnie:



Użyliśmy biblioteki XStream i na strumień output przekazywaliśmy stringi zawierające XML zserializowanych obiektów, możemy zatem zajrzeć do logów i obejrzeć odpowiedzi WebService'u.



Agenta można uruchomić na innej maszynie niż konsola, wtedy należy uruchamiać go w ten sposób: java -Dgrinder.consoleHost=192.168.7.22 -cp $GRINDERPATH/lib/grinder.jar net.grinder.Grinder.

(Grinder: Part 3) Jak pisać testy pod Grindera

Najwygodniej jest napisać test najpierw w Javie.



Sprawdzony działający kod portujemy do Jythona i sprawdzamy czy działa.



Test w Jythonie przerabiamy na skrypt grinderowy. Zasada jest taka: obiekt, którego wydajność chcemy zmierzyć opakowujemy w test np.
t = Test(1, "Test numer 1").wrap(obiekt_z_metodą_action)
t.action()

(Grinder: Part 2) Jak przygotować narzędzia do testów WS

Potrzebujemy Grindera, środowiska PyDev (wtyczka do Eclipsa, dodawania poprzez Help -> Software Updates -> Find and install -> (Search for new features) -> New Remote Site: http://pydev.sourceforge.net/updates/) oraz Axis-a (nasz klient WebService'u wyeksportowany do jar-a wymaga bibliotek Axis-a).

Rozpakowujemy Grindera, dla ustalenia uwagi, do /home/user/grinder, a następnie w tymże katalogu tworzymy dwa skrypty odpalające konsolę i agenta.



Po odpaleniu console.sh wybieramy z menu Dystrybucja pozycję Ustaw Katalog i podajemy katalog /home/user/grinder. Będąc w zakładce Skrypty wybieramy folder /home/user/grinder/examples i zaznaczamy znajdujący się w środku plik grinder.properties, a następnie klikamy na menu Dystrybucja -> Select properties. Będąc w pliku grinder.properties możemy ustawić classpath dla maszyny wirtualnej Javy: powinniśmy dodać tam ścieżkę do jar-a od klienta WebService'u, jar-y z dystrybucji Axis-a, oraz xstream.jar (wszystkie te rzeczy najwygodniej wrzucić do /home/user/grinder/lib/).

Przykładowy CLASSPATH: /home/user/grinder/lib/wsdl4j-1.5.1.jar:/home/user/grinder/lib/jaxrpc.jar:/home/user/grinder/lib/commons-logging-1.0.4.jar:/home/user/grinder/lib/commons-discovery-0.2.jar:/home/user/grinder/lib/axis.jar:/home/user/grinder/lib/xstream-1.3.jar:/home/user/grinder/lib/ws1cli.jar

niedziela, marca 30, 2008

(Grinder: Part 1) Jak testować wydajność WebService'ów

Najpierw potrzebujemy Eclipse'a z zainstalowanym pakietem Web Tools Platform. Tworzymy nowy projekt javowy. Importujemy WSDLe opisujące WebService'y, które mamy przetestować. Dodajemy serwer JavaEE (File -> New -> Other -> Basic -> J2EE Preview).
Teraz możemy wygenerować javowego klienta WebService'u.





Dalej pozostaje nam już tylko parę linijek kodu - stworzenie ServiceLocator-a, pobranie portu i wywołanie usługi. Fajnie by było moć obejrzeć wynik w postaci XML-a. Do tego możemy wykorzystać biblotekę XStream hostowaną na CodeHausie.



A na koniec częsci pierwszej pakujemy całego klienta do jar-a (File->Export->Java->Jar).