Testarea performatelor aplicatiilor web la un trafic ridicat

Pana nu demult nu am testat niciodata nici una din aplicatiile dezvoltate pentru cum s-ar comporta la un anumit nivel de trafic. Stiam ca sunt aplicatii care fac acest lucru dar nu am ajuns sa folosesc una niciodata, nici nu am avut nici un client care sa imi ceara acest lucru. Stiu ca poate o sa fiu certat de unii pentru acest lucru, si trebuie sa recunosc ca a fost o greseala a mea sa nu o fac pana acum, mai ales la proiectele mari. Greseala pe care am hotarat sa o corectez.

Desi stiam ca exista astfel de aplicatii, cam la nivelul asta se situau cunostiitele mele din acest domeniu. Asa ca m-am apucat sa caut mai multe informatii pe google. Targetul era sa gasesc o aplicatie cat mai completa si daca se poate si open-source ar fi fost perfect.

Asa ca dupa ceva googling am reusit sa gasesc 3 aplicatii software care se potriveau cu criteriul de mai sus, si care aveau si un renume destul de bun in comunitatiile de developers. Voi incerca sa fac un mic review la fiecare bazat pe informatiile pe care le-am gasit despre ele. La acest moment nu am reusit sa le testez prea mult pe toate, asa ca voi reveni cu parerea personala intr-un articol viitor.

1. OpenSTA

Numele OpenSTA este un acronim care vine de la Open System Testing Architecture. Nu este numele unei aplicatii propriu-zise ci numele unui set de instrumente bazate pe o platforma software numita CORBA.

Setul de instrumente OpenSTA este complet gratuit si open-source licentiat sub GNU GPL. Codul sursa fiind disponibil pe SourceForge.

Ultima versiune stabila este 1.4.5 si platformele suportate sunt Windows NT, 2K or XP, desi codul sursa este disponibil.

OpenSTA are cateva avantaje care il recomanda: este puternic, flexibil, foarte programabil si gratuit :D. Ultimul avantaj este cel care m-a atras prima oara, si sunt sigur ca si pe unii dintre voi. Stiu ca unele persoane sunt reticente la solutiile gratuite, si cred in sintagma ” primesti cat platesti “, dar din articolele citite acesta set de intrumente este foarte bine vazut si chiar folosit de unele firme de audit aplicatii web pentru testele pe care le desfasoara.

In OpenSTA poti programa vizitatori virtuali care vor genera traficul virtual. Acestia pot fi programa prin OpenSTA’s SCL (Script Control Language). Dezavantajul acesteia este ca trebui sa inveti acel limbaj. Daca nu ati folosit niciodata acest limbaj ( ca si mine de altfel ) veti avea un pic de invatat pana cant veti putea realiza cu el ceea ce doriti. Dar pentru testele mai putin complicate, si pentru incepatori, exista o alternativa pusa la dispozitie, folosirea browserului pentru a inregistra actiunile care vor fi efectuate de vizitatorii virtuali.

Dupa ce ati “inregistrat” scriptul pe care il vor rula vizitatorii poti sa rulezi un test cu un oricati useri vei dori, si sa analizezi modul in care aplicatia ta se comporta la acel grad de incarcare. Rezultatele se pot prezenta si in grafice pentru o interpretare mai usoara.

OpenSTA screen shoots

2. WebLoad

Inca o aplicatie open source foarte puternica. WebLOAD Open Source, licentiata sub GNU Public License (GPL) , este bazata pe WebLOAD, produsul firmei RadView care e deja folosit in peste 1,600 de site-uri. Disponibila pentru download si folosire gratuit, WebLOAD este o aplicatie de origine comerciala care a fost trecuta sub licenta GPL ( nu prea vezi asta prea des ) avand in spate cativa ani buni de product development.

Avantajul cel mai mare al acestei aplicatii este ca poti sa creezi scripturi foarte complexe, fara sa introduci o singura linie de cod, asta prin interfata vizuala foarte avansata. Insa daca pentru un test mai avansat nu se poate realiza un anumit lucru din editorul visual ai si posibilitatea de a edita/completa manual scriptul folosindute de JavaScript.

Dupa ce ai facut scriptul, esti gata sa rulezi testul. WebLOAD poate genera trafic pentru un numar foarte mare de vizitatori in mod simultanm avand deasemenea posibilitatea de a simula numeroase browsere de la versiunile vechi de IE pana la versiuni noi de Firefox. In timpul testului, WebLOAD inregistreaza date complexe despre modul cum aplicatia raspunde la traficul indus. Aceste dare sunt folosite de WebLOAD pentru generarea de rapoarte variate ale performantei. Acestea pot fii sub forma tabelara pe care le poti urmarii si analiza, fie renderizare pe ecran fie imprimate. Deasemenea WebLOAD poate genera o varietate de grafice dupa datele salvate, care te pot ajuta sa gasesti zonele cu probleme din aplicatia ta mult mai usor ( sper sa nu fie cazul ).

WebLoad screen shoots

3. Microsoft’s Web Application Stress Tool

Cele doua solutii de mai sus desi sunt foarte bune, sunt relativ complicate. Si cateodata poate e nevoie de ceva mic si rapid prin care sa faci un test rapid pentru o pagina pe care abia ai scris-o. Sa zicem ca abia ai scris o pagina care genreaza un raport despre vanzari, in care se faca ceva interogari SQL si cateva calcule. Si te intrebi acum cat de repede s-ar genera acel raport daca ar fi accesata de 300 de vizitatori simultan. Pentru aceste scenarii, Microsoft’s Web Application Stress Tool va fi unealta perfecta. Este o aplicatie foarte simpla si mica (9MB) care poate efectua un test simplu de trafic stress asupra aplicatiilor web.

Microsoft WAS web stress tool a fost construit pentru a simula cat mai bine cereri de la multiple borwsere catre pagina pe care o testati. Folosindu-va de acest soft puteti sa faceti teste preliminare asupra perforamantelor si stabilitatii aplicatiei construite. Ea putand sa simuleze un numar mare de cereri de pe un numar foarte mic de masini client.

Pentru a face un test trebuie sa apasati butonul record in menuiul TOOL si o fereastra a browserului se va deschide. Aici veti efectua actiunile pe care vrei sa le efectueze vizitatorii virtuali, acestea vor fi inregistrate, si vor fi folosite la efectuarea testului. Dupa ce sunteti gata apasati Stop recording. In acest moment ar trebui sa vedeti un ecran asemanator cu cel de mai jos. In partea din stanga ar trebui sa vedeti diversi parametri pentru efectuarea testului.

Microsoft’s Web Application Stress Tool screen shoots

Cam atat pana acum. Sper ca acest articol v-a ajutat si astept comentariile voastre si sfaturi despre testarea aplicatiilor web ( sunt convins ca multi au mai multa experienta decat mine )

Cheers

Share your love
Gabriel Solomon
Gabriel Solomon

Ultramaratonist, Galantom, organizator de evenimente sportive

Articles: 1265

2 Comments

  1. Foarte interesant acest articol. Nu stiam de aplicatiile astea, dar niciodata nu e prea tarziu. 😛
    Thanks. 🙂
    Blogul tau e foarte interesant, am sa il pun la bookmarks.

    Succes! 🙂

  2. Foarte interesant acest articol. Nu stiam de aplicatiile astea, dar niciodata nu e prea tarziu. 😛
    Thanks. 🙂
    Blogul tau e foarte interesant, am sa il pun la bookmarks.

    Succes! 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.