I am testing websocket server using JMeter.
With several times of trial and errors, I could run test successfully.
But I am still unable to see the response properly.
For example,
I made my server to return some specific response, when it receives the request.
However in results listener, sometimes proper response is found,
but sometimes just request string is found.
I used JMeter plugin of Kawasima
and added View Results Tree listener.
If I miss something, kindly let me know how to see the correct results.
I already checked the packets, server and jmeter properly communicated each other.
Thanks in advance.
Dongkyoung.
Can you check your play with different values of response timeout in Jmeter. I had the same issue setting different values changes the time of response.
Hope it helps.
Related
I have observed sometimes I am getting 600 error code in my jmeter response. I need help what was that and what things shall we implement to avoid this?
Thanks in advance.
HTTP Status Code 600 is not something defined by the standard, you need to consult your application developers and ask them what could be the cause of it.
I can think of the following possible reasons:
It happens due to missing or improperly implemented correlation
Your application gets overloaded and cannot handle the incoming requests properly, try increasing the load gradually and try to find the relationship between the number of users/request per second and presence of this error
You can add a Listener like Simple Data Writer to store request and response details, it might be the case you're sending a malformed request and application responds with 600 status code instead of normal 4xx
Make sure to follow JMeter Best Practices as it could also be the case JMeter fails to properly send the request due to bad configuration and/or lack of resources
websocket request shown runs successfully on jmeter but in server shown error and Even in summery report report max time shown 0 for all requests. Could you please help to improve the jmx script. please refer attached jmx script and document.
Summery report
https://drive.google.com/file/d/1TbwatJR7AiiL09JU1RGl5BPQIj1sj8IG/view?usp=sharing
Could you please help to improve the jmx script - no, we're not supposed to do your job for you, if this is what you're looking for - consider freelancers services like Fiverr or Toptal however I can give you some idea regarding what could be wrong.
If connect time, latency and elapsed time are 0 then your requests are not very "successful", up to certain extent they are, but my expectation is that if you enable debug logging for WebSocket Samplers component you will see each Sampler returning 101 Switching Protocols and I believe this is not something you expect from your WebSocket Samplers.
Given you're capable of successfully executing your scenario in browser you can capture the requests which are being sent by JMeter and the real browser using a 3rd-party sniffer tool like Wireshark or Fiddler and compare them. The requests must be exactly the same (apart from dynamic values which need to be correlated), once you amend your JMeter configuration to send the same requests as browser does your test will start working.
Today i got issue Non Http Response code when run script on Jmeter. My script run over some steps (Login - view) but got this issue and have log that issue at NoHttpResponseException.
I'm using Jmeter version 3.3. And I think that maybe this issue from server side, not by my script.
Does anyone fix this issue before? Please support me to resolve it.
This status code is being returned when an Exception occurs during HTTP Request sampler execution. There are hundreds or thousands of possible exceptions and even more potential causes for them.
If it occurs only under the load - most probably it's a server side error and you need to check the application under test logs and monitoring software results to identify the cause
It might be something described in the Connection Reset since JMeter 2.10 ?
It might be the case your JMeter script is badly designed/implemented and you're sending garbage instead of proper HTTP request
So try to collect as much information as you can:
Application under test and JMeter logs (it includes any middleware such as reverse proxies, load balancers, databases, etc.)
Application under test and JMeter machines health metrics (CPU, RAM, Network, Disk, Swap)
Network layer information, i.e. HTTP Request and response details.
Also be aware that according to JMeter Best Practices you should always be using the latest version of JMeter so consider upgrading to JMeter 5.0 (or whatever is the current latest JMeter version available at Downloads page) as soon as it will be possible.
I am creating a script through Blazemeter (which storing some data in DB) and running through JMeter. Script is running fine but data is not stored in DB. What I am missing?
The chance of replaying recorded script is minimal as modern web applications widely use dynamic parameters for security reasons or client-side state tracking
Make sure to add HTTP Cookie Manager to your Test Plan
Make sure to perform correlation of any dynamic parameters
With regards to "Script is running fine" - JMeter automatically treats responses with HTTP Status Codes below 400 as successful, so "green" result doesn't necessarily mean that your script is doing what it is supposed to be doing. Try inspecting responses using View Results Tree listener, most probably you're getting stuck at login page. Going forward you can consider adding Response Assertions in order to perform extra checks against the responses.
I have a single node elastic search server running on ec2. I want to do some load testing using search requests with random search queries. I am using JMeter for load testing with two different approaches -
HTTP Client - When I test using these clients with 10k/20k/50k of requests, it works fine.
ES Transport Client - This works fine with approx 2k of requests.
Here are the steps I have followed -
Instantiating client on every run and close it once the test finished.
Once client instantiates, I start the jmeter sampling and send the search request.
After this run, stops the sampling.
I am getting No Node Available Exception after 2k of request with transport client.
ES Server is running with 3g of memory and have given 6g of memory to load tester.
Please help me if there is some config modification required and if I am not using the correct approach to test the load.
Thanks in Advance.
What kind of responses are you getting from the http test? Have you verified you are getting valid responses for all 10~50k requests? It might be perhaps your cluster cannot take on the load you're putting on it for either test. Since TransportClient is more intimately coupled to the ES server, you will explicitly see errors that come back from TransportClient, but if you're simply sending requests via HTTP without validating the response, it's easy to miss any issues.
Although, before taking a stab in the dark like I just did, I would also check to see what kind of QPS you are getting using the HTTP method vs the TC method, what your CPU/memory look like throughout both tests, what the response times look like, etc. It helps to monitor the health of your system throughout the process to detect any symptoms that might help explain the cause.