Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Cum testati performanta?
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Dezvoltare
Subiectul anterior :: Subiectul următor  
Autor Mesaj
MasterPhoton



Data înscrierii: 06/Mar/2003
Mesaje: 437

Trimis: Mie Feb 01, 2006 11:06 am    Titlul subiectului: Cum testati performanta?  

Salut,

Ma intereseaza modul vostru de abordare al testarii performantei aplicatiei dezvoltate.
Solutii open source in special, nu vreau sa dau 1000$ pe ceva care nu-l voi folosi ca sa fac bani.
(detaliat: simulare cu numarul de utilizatori care sunt estimati ca vor accesa site-ul)
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Joi Feb 02, 2006 11:55 am    Titlul subiectului:  

De obicei testele de performanta se fac cand proiectul este terminat.
Tot timpul, concluzia este simpla:
merge al dracului de incet.
Si atunci, incerci sa revizuiesti anumite parti din cod sau /si sa cumperi hardware mai performat (mai adaugi un giga de ram, un nou server in cluseter s.a.m.d.)

Pentru web, testele le poti face in general cu softuri pentru benchmarck la serverului web.
Acestea pot simula mai multe conexiuni, & other shit.

ab este un program destul de cunoscut si este instalat odata cu serverul web apache.

Mult mai periculos mi se pare siege ( http://freshmeat.net/projects/siege ), nu stiu daca exista si versiune de windows.
Acesta poate deschide un numar destul de mare de threaduri pe calculatorul de pe care este rulat, fiecare thread facand requesturi simultane la o pagina web.
Ai grija, nu testa siteurile prietenilor cu el, vei putea fi acuzat de atacuri DoS sau asemanator.
Incearca sa nu il rulezi de pe aceaiasi masina cu serverul web deoarece va consuma foarte multe resurse in cazul rularii concurentiale a mai multor cereri.
Poti simula un efect de tip /. foarte usor.
Din help:
Cod:
[aurelian@aurelian ~]$ siege
siege 2.64
Usage: siege [options]
       siege [options] URL
       siege -g URL
Options:
  -V, --version           VERSION, prints version number to screen.
  -h, --help              HELP, prints this section.
  -C, --config            CONFIGURATION, show the current configuration.
  -v, --verbose           VERBOSE, prints notification to screen.
  -g, --get               GET, pull down headers from the server and display HTTP
                          transaction. Great for web application debugging.
  -c, --concurrent=NUM    CONCURRENT users, default is 10
  -u, --url="URL"         URL, a single user defined URL for stress testing.
  -i, --internet          INTERNET user simulation, hits the URLs randomly.
  -b, --benchmark         BENCHMARK, signifies no delay for time testing.
  -t, --time=NUMm         TIME based testing where "m" is the modifier S, M, or H
                          no space between NUM and "m", ex: --time=1H, one hour test.
  -r, --reps=NUM          REPS, number of times to run the test, default is 25
  -f, --file=FILE         FILE, change the configuration file to file.
  -R, --rc=FILE           RC, change the siegerc file to file.  Overrides
                          the SIEGERC environmental variable.
  -l, --log               LOG, logs the transaction to PREFIX/var/siege.log
  -m, --mark="text"       MARK, mark the log file with a string separator.
  -d, --delay=NUM         Time DELAY, random delay between 1 and num designed
                          to simulate human activity. Default value is 3
  -H, --header="text"     Add a header to request (can be many)
  -A, --user-agent="text" Sets User-Agent in request


si din README:
Cod:
Siege is an open source regression  test and  benchmark utility.
It can stress test a single URL  with a user  defined  number of
simulated  users, or  it can  read  many  URLs into  memory  and
stress  them  simultaneously.  The  program  reports  the  total
number  of  hits  recorded,  bytes  transferred,  response time,
concurrency, and return status.  Siege supports HTTP/1.0 and 1.1
protocols, the  GET and POST  directives,  cookies,  transaction
logging, and basic authentication. Its features are configurable
on a per user basis.


Si inca un URL: http://www.joedog.org/siege/index.php
Sus  
MasterPhoton



Data înscrierii: 06/Mar/2003
Mesaje: 437

Trimis: Joi Feb 02, 2006 12:34 pm    Titlul subiectului:  

:)
Am un client meserias in informatica care mi-a cerut un fel de previziune a comportarii serverului. Cica ar fi trebuit sa ii fac un fel de deviz estimativ pentru cumpararea hardului in functie de cum se comporta testul. Oricum, asta era doar in faza initiala, dar acum am terminat aplicatia si asteptam testul real-life, am renuntat la ideea lui. Oricum, cred ca trebuia sa cumpar soft comercial pentru ce vroia el, pentru ca aplicatia este destul de complicata, multi-user. Din cate am studiat eu softurile comerciale ar putea sa faca si asta, insa cele open-source sunt destul de primitive si trebuie sa le scrii tu query-stringurile aferente drumului user-ului prin aplicatie. ab este destul de ciudatel, adica primitiv, cum spuneam.
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Joi Feb 02, 2006 1:44 pm    Titlul subiectului:  

"primitiv" adica nu are GUI :D
Sus  
MasterPhoton



Data înscrierii: 06/Mar/2003
Mesaje: 437

Trimis: Joi Feb 02, 2006 2:24 pm    Titlul subiectului:  

...nu neapart :) (dar in mare parte da). Adica: am vazut un soft comercial care iti inregistra miscarile print-r-un site (get, post, cookie) si le scria intr-un fisier care era, mai apoi, folosit de fiecare dintre userii virtuali pentru simulare. Asta e o chestie desteapta, pe care n-am vazut-o la astea "primitive" :).
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Joi Feb 02, 2006 4:14 pm    Titlul subiectului:  

Nu are GUI, nu merge pe windows si e si GPL :D
Mda, cu siege poti sa scrii o lista de URL-uri int-un fisier, + poti sa transmiti date si prin POST.
Si poti transmite si headere specifice (adaugi astfel si COOKIEZ)
"Userii virtuali" pot alege random din acea lista "linkul" pe care sa il urmeze. Poate sa le ia si in ordinea in care sunt scrise.
Iti exporta rezultatele intr-un format ce se transforma ulterior in csv.
+proxy, suport ptr. ssl, delay la actiuni (asemanator cu modul in care noi oamenii, navigam pe net)

Acum cativa ani, era la microsoft pe site un tool asemanator, dar avea si gui pe care l-am folosit de cateva ori. Stiu sigur ca au delcarat ca nu vor mai mentine softul respectiv si probabil dezvoltarea s-a oprit undeva prin anii 99-2000. Cu putin noroc poate il mai gasesti la ei pe site (era "freeware"). Nu mai stiu numele.
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Joi Feb 02, 2006 4:28 pm    Titlul subiectului:  

MasterPhoton a scris: ...nu neapart :) (dar in mare parte da). Adica: am vazut un soft comercial care iti inregistra miscarile print-r-un site (get, post, cookie) si le scria intr-un fisier care era, mai apoi, folosit de fiecare dintre userii virtuali pentru simulare. Asta e o chestie desteapta, pe care n-am vazut-o la astea "primitive" :).

well, pai si siege poate asta: http://www.joedog.org/sproxy/docs/README.php
Sus  
clw



Data înscrierii: 09/Ian/2006
Mesaje: 73

Trimis: Vin Feb 10, 2006 2:34 pm    Titlul subiectului:  

aurelian a scris: De obicei testele de performanta se fac cand proiectul este terminat.
Tot timpul, concluzia este simpla:
merge al dracului de incet.

So damn true :)

aurelian a scris:
Mult mai periculos mi se pare siege ( http://freshmeat.net/projects/siege ), nu stiu daca exista si versiune de windows.


Pe win exista o alternativa viabila, Web Application Stress Tool [da, e de la Microsoft, dar nu va lasati inselati de aparente, chiar e util si bun si free]: http://www.microsoft.com/downloads/details.aspx?FamilyID=E2C0585A-062A-439E-A67D-75A89AA36495&displaylang=en
Sus  
aurelian



Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti

Trimis: Vin Feb 10, 2006 2:55 pm    Titlul subiectului:  

clw a scris:
Pe win exista o alternativa viabila, Web Application Stress Tool [da, e de la Microsoft, dar nu va lasati inselati de aparente, chiar e util si bun si free]: http://www.microsoft.com/downloads/details.aspx?FamilyID=E2C0585A-062A-439E-A67D-75A89AA36495&displaylang=en
dap, pe asta l-am folosit si eu, dar nu am retinut numele, stiam insa ca e de la microsoft :)
Sus  
MasterPhoton



Data înscrierii: 06/Mar/2003
Mesaje: 437

Trimis: Vin Feb 10, 2006 8:01 pm    Titlul subiectului:  

:roll: Windows? Ce-i aia?!...


--- :)
Nu serios acu', am incercat chestia aia si mi s-a parut asa de buna ca n-am folosit-o decat o data. Voua va merg aplicatiile incet? CE hardware folositi?
Sus  
clw



Data înscrierii: 09/Ian/2006
Mesaje: 73

Trimis: Vin Feb 10, 2006 8:04 pm    Titlul subiectului:  

MasterPhoton a scris: :roll: Windows? Ce-i aia?!...

Chestia care o ruleaza cam 85% din populatia de pe forum. :)
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Dezvoltare
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community