Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Someone please help me how to do scripting using jsr223 preprocessor in Jmeter with some examples.
Any best site to get tutorial for the same.
Thanks in advance
SIJO
For instance:
First of all you need to choose a scripting language. As per JMeter Best Practices it's better to use Groovy
Add HTTP Request and put google.com into "Server Name or IP"
Add JSR223 PreProcessor as a child of the HTTP Request and put the following line into "Script" area:
sampler.setDomain("example.com");
Add View Results Tree listener and run the test
Inspect "Request" and "Response Data" tabs and ensure that request did go to example.com instead of google.com
Disable or delete JSR223 PreProcessor
Run the test again.
Ensure that request went to google.com via View Results Tree listener.
So the purpose of PreProcessors is do something before request in order to make the system prepared for the request or change request somehow (for instance you have dynamic number of parameters or dynamic number of files to send with the request and don't want to hardcode it).
In above example sampler stands for HTTPSamplerProxy, see JavaDoc for available methods and fields. Also check out Beanshell vs JSR223 vs Java JMeter Scripting: The Performance-Off You've Been Waiting For! guide for details on groovy engine installation and scripting best practices.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I am new to JMeter. I am trying to perform a load test on a video conferencing application like zoom. Can I achieve this using JMeter? If not, please suggest any application that would help perform load test on a Video Conferencing site.
Thanks in advance.
Zoom uses may be using WebRtc or Websockets as per this documentation on their protocol:
https://webrtchacks.com/zoom-avoids-using-webrtc/
So if you confirm it's websocket, you can use this plugin:
https://bitbucket.org/pjtr/jmeter-websocket-samplers
If it's WebRtc then your best option is to use selenium webdriver:
https://github.com/undera/jmeter-plugins-webdriver
Using Selenium WebDriver with JMeter
I don't think HLS is used by them, but if you need a full features implementation of Video Streaming protocols have a look at this:
UbikLoadPack Streaming Solution features for Video & Audio Performance
Disclaimer: We provide this solution and professional services around performance testing
You need to analyze network protocol(s) which are being used for audio/video streaming it might be the case you will be able to use a JMeter Plugin like HLS PLUGIN or WebSocket Plugin
If the application is using HTTP protocol you can even record it using HTTP(S) Test Script Recorder, see How to Run Performance Tests of Desktop Applications Using JMeter
In case of other protocols you will need to find a Java client library for the protocol(s) being used by the application and replicate the application network footprint using JSR223 Sampler or JUnit Request sampler or Java sampler or write your own JMeter Plugin
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I am trying to weigh in on open source tools like Jmeter or locust for testing dashboard charts and reports. I have tested the Http URL with Jmeter but how can we test the charts or graphs or reports that are embedded in a HTML page? Is there an option in JMeter or Locust or any other tool?
Basically for dashboards, HTML page loads faster but the chart loading and drill down takes time, which i think is the real key indicator of performance of a dashboard.
Appreciate your help.
Arun
None of the load testing tools will execute client-side JavaScript and my expectation is that your charts are being loaded and "drilled down" (whatever it means) using AJAX technology.
You can still execute the calls for the charts data in browser-like manner, for JMeter you can use Parallel Controller for this, for Locust you will have to code it yourself, however this way you will not able to measure rendering performance as this is something what browsers do.
So if you want to load test the backend - whatever tool should be capable of doing this, just make sure to produce the same network pattern like real browser do.
For the frontend performance assessment you will need a real browser, for example JMeter can be integrated with Selenium via WebDriver Sampler and for Locust you can write the code which will kick off and orchestrate browser(s) using selenium module
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I want to make client websocket connections to exertnal server each connection = goroutine and reader. I was looking informations on the internet but I found how to create server websocket tutorials.
Can anyone be so kind and make a trivial example and walk me through. I am using standart golang libary https://golang.org/x/net/websocket.
I created some code but when I closed one connection program exited with EOF information. I won't post the code because it's probably bad duo to the fact it was my first try.
I know how to read/send message from websocket but I don't know how to create multiple connections.
Any informations, examples would be appreciate, thanks for reading
You can use the Gorilla WebSocket library
Here's an example of it's use as a client
Golang official doc recommends to use gorilla for building websocket based application. Still the problem is, gorilla websocket is not event based. Applications need to handle concurrent read and write operations. Developers need to write custom goroutines for handling connect, disconnect and read events.
I think it is better to have a library handling everything for you.
So, I decided to write down my own client implementation - gowebsocket on top of gorilla. You can find more detailed explaination here Getting started with websocket client in go
You can check the comparison given on this link.
https://yalantis.com/uploads/ckeditor/pictures/4265/websocket-libraries.png
Article suggests to go for Gobwas(https://github.com/gobwas/ws). Its best performance wise and offers all the required features needed for websockets related applications.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 9 years ago.
Improve this question
I am new to jmeter. We have developed a java based web application using spring framework. We want to know whether we can find memory leaks using jmeter.
You can run a JMeter script for a few hours to create the load together with an Application Performance Monitoring solution like New Relic to look for memory leaks.
JMeter is not primary designated to find memory leaks. In few words the main rule of JMeter is request URLs so many times as you required and evaluate results you get back. That explanation is a bit simply and JMeter is really more complex then just this case. However if you guess you've a memory leak in your application, it can be useful in some cases to use JMeter just for to generate many request. However finding memory leaks IS NOT JMeter functionality. You have to monitor you application with some other tools (e.g. jmap, jvisualvm, etc.) and use JMeter just for to generate required specific requests.
Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 9 years ago.
Improve this question
I need the sniffer to test network traffic of applications developed by me for Windows and Facebook.
Basic requirements:
display request and response
display HTTP headers
display the time it took to complete HTTP request
Now I'm using HTTP Analyzer.
A very good tool, but it terminates with some error after 10-15 min running on Vista.
Wireshark if you want to see everything going on in the network.
Fiddler if you want to just monitor HTTP/s traffic.
Live HTTP Headers if you're in Firefox and want a quick plugin just to see the headers.
Also FireBug can get you that information too and provides a nice interface when your working on a single page during development. I've used it to monitor AJAX transactions.
I now use CharlesProxy for development, but previously I have used Fiddler
Try Wireshark:
Wireshark is the world's foremost
network protocol analyzer, and is the
de facto (and often de jure) standard
across many industries and educational
institutions.
There is a bit of a learning curve but it is far and away the best tool available.
Microsoft Network Monitor (http://www.microsoft.com/downloads/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f)
Fiddler is great when you are only interested in the http(s) side of the communications. It is also very useful when you are trying to inspect inside a https stream.
I like TcpCatcher because it is very simple to use and has a modern interface. It is provided as a jar file, you just download it and run it (no installation process). Also, it comes with a very useful "on the fly" packets modification features (debug mode).
I use Wireshark in most cases, but I have found Fiddler to be less of a hassle when dealing with encrypted data.