Domanda

Vorrei utilizzare il maggior numero possibile di thread (per usare meno i computer), ma senza fare il collo di bottiglia di essere nel client.

È stato utile?

Soluzione

Ho usato JMeter un bel po 'e l'ho trovato non è grande a generare molto alto carico. Su un 2Ghz Core2 Duo con una memoria da 2 Gb si può ragionevolmente aspettarsi circa 100 fili.

Detto questo, è meglio eseguirlo sul proprio hardware in modo che la CPU del PC non picco al 100% -. Una stalla 80% -90% è meglio altrimenti i risultati sono influenzati

Inoltre ho provato a WAPT 5 - è stato eseguito correttamente 1000+ discussioni dallo stesso PC. E non è libero, ma è più utilizzabile di JMeter ma non ha tutte le caratteristiche.

  

Outdated risposta dal momento che almeno la versione 2.6 vedere https://stackoverflow.com/a/11922239/460802 per un più aggiornato uno.

Altri suggerimenti

JMeter può simulare un carico elevato a condizione di utilizzare nel modo giusto.

Non ascoltare Urban Legends che dicono JMeter non è in grado di gestire carichi elevati.

Ora, come per risposta, dipende da:

  • Il tuo potere della macchina

  • JVM a 32 bit o 64 bit

  • JVM memoria allocata -Xmx

  • Il tuo piano di test (sacco di BeanShell, post processore, XPath ... significa un sacco di cpu)

  • la configurazione os (sintonizzabile)

  • Modalità Gui / non gui

Quindi, non c'è una risposta teorica ma seguenti Best Practices garantirà JMeter si comporta bene.

Si noti che con JMeter è possibile distribuire il carico attraverso test a distanza, leggi:

E infine utilizzare test cloud based se non è sufficiente.

Leggere questo per suggerimenti di tuning:

libro per fare test di carico e l'utilizzo JMeter correttamente.

Il JMeter Wiki casi in cui i rapporti JMeter è stato utilizzato con fino a 1000 discussioni. L'ho usato con al massimo 100 thread, ma i collegamenti nel Wiki suggerire riduzioni di risorse che non ho mai provato.

Uno dei problemi che abbiamo avuto con l'esecuzione JMeter su Windows XP era il limite di connessione TCP Windows XP. Limite deve essere rimosso al fine di eseguire utilizzare il JMeter a pieno il potenziale della workstation Maggiori informazioni qui . Per quanto ne so, non si applica ad altri OS.

Ho usato JMeter dal 2004 e ho lanciato molte prove di carico.

Con PC Windows 7 a 64 bit 4Go RAM iCore5.

Credo che JMeter può supportare 300 a 400 thread simultanei per protocollo HTTP (Sampler) con un solo "Aggregate Rapporto Listener" che scrive nei risultati di file di log e timer tra le pagine di chiamata.

Per una grande prova di carico è possibile configurare JMeter con gli slave (generatori di carico) come questo http://jmeter-plugins.org/wiki/HttpSimpleTableServer/

Ho già fatto le prove con 11 schiavi del PC per simulare 5000 discussioni.

Non ho usato JMeter, ma la risposta probabilmente dipende dal vostro hardware. La migliore possibilità potrebbe essere quella di stabilire metriche di performance, indovinare il numero di thread e quindi eseguire una ricerca binaria come segue.

Fonte Wikipedia era.

Numero guessing game ...

Questa piuttosto semplice gioco inizia qualcosa come "Sto pensando a un intero compreso tra quaranta e sessanta inclusiva, e per i vostri supposizioni io rispondo 'High', 'Low', o 'Sì!' come potrebbe essere il caso." Supponendo che N è il numero di valori possibili (qui, ventuno il più "inclusiva" è stato affermato), poi alla maggior parte delle domande sono necessari per determinare il numero, dal momento che ogni domanda dimezza lo spazio di ricerca. Si noti che una domanda meno (iterazione) è necessario che per l'algoritmo generale, dato che il numero è già vincolata ad essere in un particolare intervallo.

Anche se il numero noi stiamo indovinando può essere arbitrariamente grande, in questo caso non v'è alcun limite superiore N, possiamo ancora trovare il numero di passi al massimo (dove k è il (sconosciuto) numero selezionato) trovando prima un limite superiore da ripetuti raddoppio. Ad esempio, se il numero fosse 11, si potrebbe utilizzare la seguente sequenza di tentativi per trovare: 1, 2, 4, 8, 16, 12, 10, 11

Si potrebbe anche estendere la tecnica per includere i numeri negativi; ad esempio, le seguenti ipotesi potrebbero essere utilizzati per trovare -13: 0, -1, -2, -4, -8, -16, -12, -14, -13

E 'più dipende dal tipo di test delle prestazioni che fate (carico, picco, resistenza, ecc) su un server specifico (un po' sulla dipendenza hardware)

Tenete a mente intorno a questi parametri - la macchina client in cui si prendono di mira la corsa della jmeter, ci sarà una certa quantità di memoria heap allocata, assicurarsi di avere una dotazione di sano in modo che lo script non errore fuori. Il più alto avevo eseguito su jmeter era 1500, un ambiente locale (client - arch server), In un arco Web, il più alto ho avuto una corsa è stata basata sul requisito funzionale Non- sono stati limitati a 250 fili,

in modo che dipende in posizione ideale sulle tipologie di test delle prestazioni e lo stile la distribuzione e così via ..

Non c'è numero standard per questo. Il numero massimo di thread che si può generare da un computer dipende completamente l'hardware del computer e il sistema operativo. Il sistema operativo di default occupa certa quantità di CPU e la RAM.

Per scoprire i fili massimo il computer può gestire si può preparare un test di esempio ed eseguirlo con poche discussioni. Poi, con ogni ciclo di test aumentare il numero di thread gradualmente. Durante questo è necessario anche per monitorare la CPU, RAM, disco I / O e di rete di I / O del computer. Nel momento in cui uno di questi raggiunge vicino o oltre l'80% (in questo caso per voi a decidere se vicino è bene per voi o oltre), che è il numero massimo di thread computer in grado di gestire. Per essere sul lato più sicuro mi sarei fermato al numero quando l'utilizzo delle risorse raggiunge il 70%.

Sarà dipendono dall'hardware si esegue su, così come lo script sottostante. Ho sempre sentito che questa confusione è il problema più grande con strumenti di test di carico tradizionali. Se hai un piccolo budget ($ 200 o così si ottiene un sacco di test), controlla servizio di test di carico , BrowserMob.

Oltre ai nostri utenti un browser vero (RBUS) che controllano migliaia sui browser effettivo ai fini delle prestazioni e test di carico, abbiamo anche utenti virtuali tradizionali (VUS). Gli script sono scritti in JavaScript e possono fare varie chiamate HTTP.

Il motivo per cui ne parlo è che ho sempre sentito che il gioco di cercare di capire quante VU si può stare sul carico gen hardware è pericoloso. E 'così facile da ottenere cattivi risultati senza rendersene conto.

Per risolvere questo per BrowserMob, abbiamo preso un approccio estremamente conservativo sul numero di VU e le RBU per ogni core della CPU: non più di 1 browser o 50 thread per core della CPU, e, a volte molto meno. Nel mondo del cloud computing, cicli di CPU sono così a buon mercato che semplicemente non ha senso cercare di macchine di sovraccarico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top