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
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 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 is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
Looking for some general guidance on how to implement a WebSocket client in a way that works on both native Go execution platforms and through GopherJS.
It appears that GopherJS has two WebSocket libraries, one at gopherjs/websocket and one at goxjs/websocket. It seems that goxjs/websocket is "isomorphic", meaning it should work in GopherJS while remaining API-compatible with golang.org/x/net/websocket. That would provide compatibility in both execution environments, which is fine, but I'm not sure if it's the best solution. gopherjs/websocket doesn't appear to work outside of the browser execution environment, so it's a non-starter.
The most recommended WebSocket implementation for native Go apps seems to be gorilla/websocket at the moment. I'd like to use this as it seems to have a good API and it seems rather fully-featured. I can successfully run gopherjs build if I import gorilla/websocket, but I'm concerned that it will fail in the JavaScript environment, or that it will be compiled down into JavaScript that doesn't use the browser's implementation of the WebSocket API.
I'm not seeing much guidance on which library is appropriate for which scenario, so hoping this can help compare and contrast and provide the direction necessary to make a good choice.
I don't have any guidance on what you should do, but can share these facts:
The gorilla/websocket package is an implementation of the Websocket protocol on TCP connections. Because browser applications cannot access TCP connections directly, the gorilla/websocket package will not run in the browser.
There's a difference in the models presented by gorilla/websocket package and the gopherjs/websocket packages. The WebSocket protocol is message-based and the gorilla/websocket package exposes an API around messages. The gopherjs/websocket provides bindings that make the message-based WebSocket protocol look like a stream of bytes. Messages are not exposed in the gopherjs/websocket API.
The x/net/websocket package is all but abandoned. There are long standing issues with protocol compliance that have not been addressed.
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.
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 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.