2013-04-22 13 views

risposta

19

Il link nella tua domanda sembra non essere per il plugin jmeter ma per il modulo proxy per il server http Apache.
Il collegamento corretto sembra essere https://github.com/kawasima/jmeter-websocket - jmeter plug-in per il protocollo WebSocket.

Per utilizzarlo è necessario:

  • fonti per il download del progetto;
  • build ApacheJMeter_WebSocket.jar using maven;
  • posto jar in $JMETER_HOME/lib/ext/ dir.

file Jar costruito con successo da fonti usando Maven 3.0 (mvn validate compile package):

WebSocket Sampler disponibile nella lista dei Campionatori:

enter image description here

6

Ecco un altro plugin per WebSocket JMeter. Supporta RFC6455 (v13) del protocollo WebSocket.

collegamento: https://github.com/maciejzaleski/JMeter

Caratteristiche:

  • supporta la versione HTTS/HTTPS (ws/WSS) del protocollo WebSocket
  • Opzione per ignorare gli errori del certificato SSL
  • Streaming permette per un singolo connessione per rimanere aperta per la durata del test
  • La risposta deve corrispondere all'espressione regolare predefinita
  • reazione timeout
  • messaggio di risposta arretrato (costruire la risposta Sampler da più messaggi del server)
  • collegamento potrebbe essere chiuso se il server invia un messaggio di corrispondenza espressione regolare predefinito
+0

Potrebbe aggiungere Ant/Maven/Ivy/qualsiasi configurazione del sistema di compilazione in modo che uno possa creare un jar dalle origini? –

+0

So che dovrò farlo a un certo punto quando avrò un po 'di tempo. C'è già un JAR di compilazione sotto Releases che è possibile scaricare e inserire nella cartella lib/ext di JMeter. Avrai anche bisogno di dipendenze come nella pagina Wiki. –

+0

Maciej: il tuo file jar non sembra funzionare per me, puoi aiutare? –

2

posso `t commento post precedente. Ma questo plugin ha un problema con la concurenza quando si esegue una grande quantità di thread.Ho ottenuto questo errore:

[Problems] 
- Unexpected error: null 
java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:953) 
java.util.LinkedList$ListItr.next(LinkedList.java:886) 
JMeter.plugins.functional.samplers.websocket.ServiceSocket.getResponseMessage(ServiceSocket.java:125) 
JMeter.plugins.functional.samplers.websocket.WebSocketSampler.sample(WebSocketSampler.java:156) 
org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:429) 
org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257) 
java.lang.Thread.run(Thread.java:744) 

Così ho solo sostituito una sola riga nella ServiceSocket.java:

protected Deque<String> responeBacklog = new LinkedList<String>(); 

con questa linea:

Queue<String> responeBacklog = new ConcurrentLinkedQueue<String>(); 

E 'risolto il mio problema :)

+0

Dove si trova il file? – Praveen

0

Se non conosci Jmeter, non hai bisogno di dedicare molto tempo all'apprendimento dell'interfaccia utente di Jmeter e della funzione per eseguire il carico di testo websocket ng. Ora abbiamo uno strumento dedicato per eseguire test di carico su web socket. È denominato come Thor.

Grazie agli sviluppatori per renderlo semplice, leggero e opensource.

+0

Thor ha il problema di chiudere la connessione web-socket e non è in grado di tenerlo inattivo. Il test del carico è difficile da raggiungere. –