Stránka 1 z 1

Simulace zatížení stránek na localu

Napsal: stř 1. dub 2015, 09:34
od Václav Sedlář
Ahoj, nasazujeme nové fičurky na náš web a já bych potřeboval otestovat výkon - potřeboval bych nasimulovat přístup tak cca 500 uživatelů...

Napadlo mě toto řešení:

Udělal jsem si v javě program, kde nastavím url, počet uživatelů, počet požadavků na uživatele (kolikrát user např. odešle na stránku náhodný get parametr pro vyhledání slova) atd..

Funguje to tak, že každý uživatel je jeden thread a v tom threadu se provede v cyklu ten požadavek...

Tedy když nastavím 300 uživatelů a dám 10 požadavků na usera, tak se vytvoří 300 threadů a v každém z nich se 10 pošle požadavek na url...

A teď mě zajímá zda je to použitelné řešení, nebo existuje něco lepšího. Protože jsem si schválně udělal testovací php které jen do souboru zapsalo aktuální datetime a když jsem v testeru nastavil 500 userů a 20 požadavků/user tak ze začátku to provádělo cca 130 zápisů/s do soubor ale později se to rapidně zpomalilo... u cca 5000. zápisu to už byla rychlost 3 zápisy/s

+ ten java tester mi v RAM zabíral cca 1.6 GB paměti

Nevíte, proč se to tak zpomalilo? Je to javou, nebo php?

díky...

P.S.: Zatím testuju web na svém localhostu, takže potřebuji nějaký locální tester...

Re: Simulace zatížení stránek na localu

Napsal: stř 1. dub 2015, 16:49
od oneb1t
treba apachebench :) muzes si tam nastavit vsechno co potrebujes

proc ti to zpomalilo muze bejt vic duvodu
1. nestiha ti webserver (pokud jedes php + apache tak zkus treba lighttpd nebo nejaky apache2 nastaveni a mody)
2. nestiha ti databaze - prenastavit config
3. napsal si ten tester nejak zprasene :D
4. nestiha ti disk - nastavit vsude vetsi cache nebo ramdisk


pokud bys chtel vyslovene simulovat nejakou specifickou zatez (treba prihlaseni + vyhledavani + objednavka) tak to se da realizovat treba pomoci casperjs (coz je headless prohlizec) + nejakej skriptik na spusteni treba 200 threadu