Oprogramowanie dla biznesu
Transkrypt
Oprogramowanie dla biznesu
Oprogramowanie dla biznesu Numer 8 (90) Październik 2011 TESTY WYDAJNOŚCIOWE APLIKACJI WEBLSP I WEBDFE SPECJALNIE DLA PAŃSTWA PRZEPROWADZILIŚMY TESTY WYDAJNOŚCIOWE NASZYCH APLIKACJI SPRZEDAŻOWYCH WEBLSP I WEBDFE, ABY POKAZAĆ, ŻE APLIKACJA WEBLSP DEKLASUJE APLIKACJĘ WEBDFE POD WZGLĘDEM WYDAJNOŚCI, SKALOWALNOŚCI I ERGONOMII PRACY UŻYTKOWNIKA. NINIEJSZY ARTYKUŁ PRZEDSTAWIA WYNIKI TYCH TESTÓW. Kiedy ponad 2 lata temu nasza firma rozpoczęła projekt zbudowania nowej platformy sprzedażowej mającej zastąpić dotychczasowe rozwiązanie web.dfe podjęto decyzję o wyborze nowej platformy technologicznej. Wybór padł na JEE (java enterprise edition). Decyzja o wyborze tej platformy podyktowana była sugestiami naszych Klientów dotyczącymi między innymi wydajności i komfortu pracy aplikacji web.dfe. Teraz, kiedy możemy pochwalić się ukończonym projektem, pragniemy sprawdzić czy nasze założenia były słuszne i czy zmiana technologii przyczyniła się do polepszenia wydajności, skalowalności i ergonomii pracy użytkownika na nowej platformie web.lsp. Niniejszy artykuł przedstawia wyniki testów porównawczych aplikacji web.dfe oraz web.lsp. W celu przetestowania tych dwóch systemów skorzystaliśmy ze sprzętowego serwera wyposażonego w dwurdzeniowy procesor taktowany zegarem 2.2GH oraz 6GB pamięci operacyjnej. Serwer posiadał przeinstalowany system operacyjny Windows 2008 server 64-bit. Nowa platforma web.lsp może zostać również osadzona na innym systemie operacyjnym klasy uix, jednakże web.dfe musi pracować w środowisku Microsoft Windows. Obie platformy zostały skonfigurowane i podłączone do jednej bazy danych opartej na systemie Oracle 11g. Pierwsza faza testów polegała na wykonaniu testów wydajnościowych opartych na badaniu:sprawdzenie czasu odpowiedzi symulacji przejścia pojedynczego użytkownika przez workflow w aplikacji. Aby testy nie uwzględniały szybkości wprowadzania danych przez operatora zostały wykonane za pomocą automatycznych testów oferowanych przez system Test Complete. Oba przypadki zostały wykonane na identycznych przejściach ścieżki workflow. 1 Wyk. 1. Porównanie czasu odpowiedzi symulacji przejścia pojedynczego użytkownika przez workflow aplikacji Analizując wyniki testu można jednoznacznie wskazać zwycięstwo web.lsp. Test przejścia prostego workflow został wykonany blisko dwukrotnie szybciej. Taki wynik web.lsp sugerował konieczność dowiedzenia się czy aplikacja nadal będzie się zachowywać w ten sposób, kiedy serwer zostanie obciążony przez wielu użytkowników jednocześnie. Aby to sprawdzić wykonaliśmy kolejny test obciążeniowy, którego celem jest zasymulowanie dużej liczby jednocześnie działających użytkowników oraz utrzymanie takiego stanu przez określony w scenariuszu testowym czas. Test ten miał również zbadać jak wiele zapytań (requests) jest w stanie obsłużyć system w określonym przedziale czasu. 2 Wyk. 2. Test obciążeniowy Wyniki powyższego testu sugerują, że aplikacja web.lsp zachowuje się stabilnie w porównaniu z wcześniejszą architekturą web.dfe. Próbę tę prowadziliśmy w kierunku testu przeciążeniowego, aby określić, w którym momencie aplikacja zacznie zachowywać się niestabilnie lub zupełnie odmówi odpowiedzi. Oba systemy zostały obciążane dużą liczbą jednocześnie działających użytkowników, przekraczających zasoby serwera. Aplikacja web.dfe pracowała stabilnie do obciążenia blisko 50 użytkownikami jednak ze znacznym wzrostem czasu odpowiedzi przekraczającym blisko 10-krotnie średni czas przy małym obciążeniu. System web.slp zachowywał się stabilnie do końca testu przy obciążeniu ponad 80 użytkownikami z nieznacznym spadkiem wydajności. Wyniki przeprowadzonych testów jednoznacznie potwierdzają słuszność wyboru architektury JEE jako platformy dla naszych nowych rozwiązań. Przeprowadzone testy przedstawiają suche wyniki jedynie na temat wydajności nowego rozwiązania, jednak nie należy zapominać iż nowa platforma niesie również bardziej ergonomiczny interfejs użytkownika oparty o technologię AJAX, która znacznie redukuje potrzeby dotyczące przepustowości łącz, na których pracuje końcowy użytkownik. Architektura 3-warstwowa zapewnia większą skalowalność poprzez możliwość łączenia aplikacji w klastry logiczne przez co obciążenie może zostać rozłożone na kilka serwerów. Użycie buforowania danych znacznie zmniejsza konieczność odwoływania się do bazy danych z czego wynika dużo większa szybkość pracy z aplikacją. Jednocześnie taka technika powoduje wzrost wydajności systemu wraz z czasem jego używania od momentu restartu. Możliwość definiowania w dowolny sposób prezentowanych paneli definiowalnych oraz głównego menu jest kolejnym krokiem w rozwoju platformy. Wprowadzenie nowego systemu raportowania opartego o środowisko Crystal Report wraz z serwerem wydruków jest krokiem milowym w porównaniu z architekturą web.dfe. Nowe produkty będące w ofercie oparte o tę architekturę będą z całą pewnością zadowalać naszych Klientów jako systemy skalowane i niezawodne, mogące sprostać szybkiemu rozwojowi naszych Partnerów. Rafał Bereza (napisz do autora) 3