le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La GUI di jmeter viene utilizzata principalmente per eseguire il debug degli script
Crea prima una sceneggiatura
Demo: come scrivere una scena mista?
Utilizzare un rapporto aziendale di 211
Servizi di database: inclusi mysql, redis
porta mysql predefinita 3306
netstat -lntp | grep 3306
Nello stato di ascolto, 6379 è la porta predefinita di Redis
netstat -lntp | grep 6379
Porta di servizio del progetto 18089
netstat -lntp | grep 18089
211 possono essere convertiti in due servizi di stress testing
Uno è registrarsi, l'altro è registrarsi e accedere per aggiungere prodotti.
Entrambi sono al 50%
jmeter: aggiungi gruppo di thread-aggiungi-thread-utente-gruppo di thread
Convertire due servizi di stress testing
jmeter: controller con logica aggiuntiva e controller di throughput
Convertire due servizi di stress testing.
La prima attività di stress test include la registrazione, l'accesso e l'aggiunta di prodotti
La seconda attività dello stress test è la registrazione
50% ciascuno
jmeter-add-sampler-http-request
Convertire due servizi di stress testing
Scrivi secondo la spavalderia della registrazione, inserisci i parametri
Generalmente non è necessario inserire l'ID quando lo si inserisce.
Non è necessario compilare nemmeno Addtime
Copia e incolla i dati dei parametri in jmeter
percorso basato sull'URL
Passano tutti json
Compila l'ip e la porta secondo il documento dell'interfaccia
È meglio aggiungere affermazioni
-nEsegui jmeter in modalità non-gui
-t esegue la posizione del file di test Specifica lo script per eseguire jmeter Non è nel percorso corrente. È necessario scrivere il percorso completo.
-l specifica il file dei risultati generato, che è un file jtl
-e Una volta completato il test, generare un rapporto di test
-o specifica il percorso di archiviazione del rapporto di test html
-r avvio remoto
Installa jdk e jmeter su Linux Press
Installa sotto usr/local
Carica direttamente jmeter sulla finestra su Linux Press, perché sono disponibili anche i plug-in coinvolti nello script di debug.
Nota: se lo script prevede un file di parametri csv, è necessario caricare il file di parametri csv' nella directory bin di jmeter sotto Linux.
I report e gli ascoltatori di aggregazione devono essere disabilitati prima del caricamento
5 thread, aggiungerne uno ogni 30 s, cioè 150
La durata deve essere maggiore del tempo di chiamata di 150. Se funziona per altri 50 secondi, impostalo su 200.
Una volta completato con successo il caricamento di jmeter, verificare la versione di jmeter e se è disponibile.
Ci sono due posti
Innanzitutto, il percorso per archiviare lo script di test deve creare una directory per archiviare il report html.
Prima di eseguire lo script, la directory res deve essere vuota
In secondo luogo, pulire i dati nella tabella del database senza considerare i dati esistenti.
risultato
Completate 548 richieste in 13 secondi
Apri il rapporto aggregato
Il numero di richieste ko non riuscite
tempo di risposta
tps
Come visualizzare i file jtl?
jtl può essere aperto in qualsiasi listener, ad esempio visualizzazione dell'albero dei risultati, report aggregato, tps, tempo di risposta.
Se aperto in un report aggregato, fare clic su Sfoglia
Come tps, tempo di risposta
Diamo prima un'occhiata a tps
Aggiungi tps
Fare clic per sfogliare
Tempo di risposta
Talvolta una sola stampa non riesce a raggiungere l'obiettivo ed è necessaria una stampa distribuita.
Dopotutto, le risorse di una sola macchina sono limitate ed è difficile supportare una grande concorrenza. Anche le macchine da stampa a macchina singola presentano colli di bottiglia.
Sito ufficiale:https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Una macchina server funge da macchina di controllo
Il resto delle macchine vengono utilizzate come macchine di carico
Il servizio richiesto dal target
Il controller controlla a distanza l'avvio e l'arresto della macchina di carico inviando segnali e allo stesso tempo raccoglie i dati e il riepilogo della macchina di carico
La macchina di caricamento avvia principalmente thread per accedere al server e indirizzare il server sotto stress test.
Generalmente, il lavoratore avvia la macchina di controllo jmeter-server per controllare in remoto la macchina di carico. La macchina di carico avvia il thread e richiede al target di ottenere i dati e quindi di inviarli nuovamente alla macchina di controllo.
Dove vengono posizionati gli script una volta distribuiti?
Un controller più lavoratori
Quando si esegue non-gui, lo script viene trasmesso al server Ora che è distribuito, dove dovrebbe essere trasmesso lo script?
Lo script verrà trasferito al controller. Durante l'esecuzione, lo script verrà inviato a ciascuna macchina di carico, ovvero ogni lavoratore dopo che il carico avrà ottenuto lo script, inizierà a eseguirlo. Dopo l'esecuzione, i dati verranno passati alla macchina di controllo per il riepilogo.
Il firewall deve essere chiuso Se il firewall non è chiuso, la porta deve essere aperta.
Tutti i client devono trovarsi sulla stessa sottorete.
Assicurati che jmeter possa accedere al server
Assicurati che le versioni jmeter e Java siano le stesse
disabilitare SSL
Richiede 3 macchine virtuali
Utilizzare 181 come controller (macchina di controllo)
Usa 182.183 come lavoratore (carica macchina)
Allo stesso tempo, queste tre macchine virtuali devono installare jdk e jmeter.
Visualizza la versione jdk
Installa jmeter su tre macchine virtuali
Il jmeter della macchina locale viene trasferito nella directory usr/local della macchina virtuale.
Controlla la versione di jmeter dopo il caricamento
182、182
Eseguire prima il backup del file di configurazione jmeter.properties
server_port può essere modificato o non modificato. Il valore predefinito è 1099.
disabilitare SSL
server.rmi.ssl.disable=false, cambia falso in vero
Inizia Jemter
./server-jmeter
Controlla la porta 182 per vedere se è in stato di ascolto
verificare
Telnet la macchina di controllo alla macchina di carico per vedere se la porta è accessibile.
Prima di configurare la macchina di controllo, eseguire il debug su jmeter nella finestra.
win: per il debug
Eseguire prima il backup del file di configurazione jmeter.properties
Per impostazione predefinita, questa macchina viene utilizzata come macchina di caricamento.
La macchina di caricamento corrente è una macchina di caricamento remota, modifica remote_hosts=127.0.0.1 in remote_hosts=192.168.117.182:1099
L'IP e la porta della macchina di caricamento remoto devono essere scritti qui. Se più sono multipli, separarli con virgole.
disabilitare SSL
Cambia server.rmi.ssl.disable=false in server.rmi.ssl.disable=true
Per prima cosa esegui il debug tramite questa macchina
Riavvia jmeter e rileggi il file di configurazione
Dopo il debug sulla finestra, vai su Linux per la configurazione.
Configura su 181
Eseguire prima il backup del file di configurazione jmeter.properties
La macchina di caricamento corrente è una macchina di caricamento remoto, che lo faràremote_hosts=127.0.0.1
Cambia inremote_hosts=192.168.117.182:1099
L'IP e la porta della macchina di caricamento remoto devono essere scritti qui. Se più sono multipli, separarli con virgole.
server.rmi.ssl.disable=false
Volereserver.rmi.ssl.disable=false
Cambia inserver.rmi.ssl.disable=true
Quando lo script viene trasmesso alla macchina di controllo, lo script verrà distribuito automaticamente a ciascuna macchina di carico.
Accesso a scenario singolo di test separato
Dopo aver caricato lo script, esegui lo script
Eseguire tramite caricamento remoto
/usr/local/apache-jmeter-5.1.1/bin/jmeter -n -r -t test.jmx
Ciascuna macchina per il carico di lavoro (pressa) ha 5 thread e la macchina di controllo totale ha 10 thread.
Preparazione ambientale
Due macchine virtuali. Sono presenti un master e due slave. La macchina Windows funge da master e lo slave utilizza una macchina virtuale.
Fonte: https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
Problemi che si presentano:
java.rmi.RemoteException: Impossibile avviare. localhost.localdomain è un indirizzo loopback
Oggetto remoto creato: UnicastServerRef2 [liveRef: [endpoint:127.0.0.1:43474,objID:[-5a8dd143:17e2852fe88:-7fff, 3673082414768940798]]]
Il server non è riuscito ad avviarsi: java.rmi.RemoteException: Impossibile avviare. localhost.localdomain è un indirizzo loopback.
Si è verificato un errore: impossibile avviare. localhost.localdomain è un indirizzo loopback.
Informazioni sull'eccezione: Eccezione di avvio del server: La chiamata al metodo remoto Java ha generato un'eccezione: Impossibile avviare il servizio. localhost.localdomain è un indirizzo di loopback locale
Il nome host ottenuto tramite il comando hostname è localhost.
Controllare la configurazione degli host tramite il comando cat /etc/hosts localhost localhost.localdomain localhost4... punta a 127.0.0.1
Soluzione:
Specificare l'indirizzo IP dell'host del server remoto (rmi.server.hostname)
Inizia specificando il comando del terminale
./jmeter-server -Djava.rmi.server.hostname=192.168.2.2