Before anything, I would recommend you to think about an important point:
What is the main purpose behind your test?
Try to define your SLO/SLIs first (KPIs).
For example if the KPI is "throughput", then you need to think about what should be your scaling policy and allow Autoscaling to do the Adding/Removing instance job for you.
Obviously you can ...
There is a newer plugin for JMeter which is fully RFC 6455 compliant and allows re-using same TCP session for multiple duplex requests.
JMeter WebSocket Sampler by Maciej Zaleski - download from Releases page
WebSocket Testing With Apache JMeter - how-to guide
JMeter's built-in script recorder tends to create problems with the test scripts when the URL is SSL encrypted (HTTPS). This may be because JMeter uses proxy when recording the scripts and while running the recorded test script the proxy isn't available.
For recording the Performance Test scripts for JMeter I prefer to use Blazemeter's Chrome Extension.
Your first step is to host the app on as close to a production environment as possible to eliminate "noise" from your load/performance testing. In the case of a test server, you'd want to keep everything else off it, have any database hosted on a separate system if that's your likely production configuration, and then start exploring the application behavior ...
The Throughput: is the number of requests per unit of time (seconds, minutes, hours) that are sent to your server during the test.
The Response time: is the elapsed time from the moment when a given request is sent to the server until the moment when the last bit of information has returned to the client.
The throughput is the real load processed by your ...
You may use websocket client library for any popular language (e.g. java or python).
For your test scenario it will be more suitable way of testing, rather than try to find some test tools.
Also, I'd advise to use 'select' or 'poll' instead of threading, because it scales better, especially if you need more than 10K connections.
It took about a couple of ...
JMeter doesn't have limit of virtual users it can simulate, the number of virtual users you can mimic depends on several factors, to wit:
Nature of your test (number of requests, request size, response data size)
Number of PreProcessors, PostProcessors, Assertions, etc.
Machine hardware specifications
Make sure your test is developed and being ...
In the past, I used a .net websocket client library, however .net 4.5 has support for websockets: http://www.codeproject.com/Articles/617611/Using-WebSocket-in-NET-4-5-Part-1
I am sure there are other libraries in java or other languages that also allow you to interact with a WebSocket, but I am less familiar with them. Once you find a library, you can ...
Alright, I feel dumb. Apparently I was wrong about the user and pass working. That was also sending EOF, but that part wasn't failing. I found the answer here to be very helpful. I believe I had the thread sharing set wrong. It seems to be working now.
In regards to placement, you need to provide enough iterations to CSV Data Set Config so it could go for 2nd and further lines. So it makes sense to put CSV Data Set Config as a child of a Thread Group or Loop Controller.
Regarding id bit. Any change that username and/or password contains comma? If so, you may have to check "Allow quoted data" to work it ...
I believe that peak load follows general Pareto principle, at least basing on my experience during "peak" periods application served 80% of requests during 1-2 hours time frame and remaining 20% of requests were more or less equally distributed between remaining 20 hours in a day.
if you need some explained formulae take a look at Establishing ...
Performance Testing of Desktop applications is oxymoron. Desktop application is used by one, at most two persons at a time. So if generating a report takes 5 seconds it will take 5 seconds no matter how many users are pushing the button.
It takes 9 month for a woman to born a baby. 3 women won't produce a baby in 3 month. 0.5 woman won't give you a baby in ...
I am not so well versed in Jmeter, but I once studied it for few months. Here are some of the good links I can recommend for interpreting Jmeter results.
Link 1 - check Andrew Monkhouse's answer. He has explained it very precisely.
Link 2 - A good explanation is given here.
Link 3 - TechTarget always have some of the best explanations. This is another one ...
What can I see from your code is that at least you generate 600 native JVM thread to simulate 300 connections only which is a small number, I also doubt that the library you are using CUstomWebsocketClientWrapper creates extra threads per each connection which will end up with super inefficient tool to do the job.
I tried the recipe here http://blazemeter....
You found the right plugin, mind the Active word in its name.
For instance, on below image there are 101 alive threads as per green rectangle in upper-right corner, but only one active thread is reflected in graph as others are sleeping:
You can also run your JMeter test via Taurus tool - the results will be available via fancy web interface, including ...
You can choose any of the tools listed i.e. here. When it comes to web applications load testing it doesn't matter which tool you will choose, web applications normally return HTML pages therefore underlying technology doesn't matter.
The above list can be short-listed to the following free and open source load testing tools:
Using Selenium for just downloading a file is a little bit overkill as normally people go for Selenium and JMeter integration via WebDriver Sampler to test client-side performance while the system is under the load.
In order to test 500 users you will need to kick off 500 browsers therefore 10 VMs might be not enough (it depends on hardware specifications) ...
That depends on what you are testing. assuming you want to test a servers ability to serve static webpages to different users, having only one user would make no sense. The first iteration might give a reasonable result but further iterations might be much faster because of e.g. caching or not having the overhead of establishing a secure connection.
In most cases, whether LoadRunner is simulating 1 user and having them do 1k actions at the same time or 1k users and having them do just 1 thing, won’t make a difference. Because generally the question of scale is really about number of simultaneous connections. But it can make a difference due to caching and state changes.
Simple example, suppose you ...
Let’s say that the action under test takes one second. Then one user doing that 1k times would spread out the test over 1k seconds. 1k users doing it once would try and the same work in one second I.e. at the same time.
So while they do basically the same amount of work, since the time scales are significantly different, then the load is significantly ...
If the component you've developed is consuming, processing and emitting messages than it is both Kafka consumer and producer.
If you want to test your component in isolation, i.e., measure the time it takes for your component to process a message, you can mock Kafka, mock Kafka consuming and producing parts or write your code in such a way the processing ...
Your question is a bit broad, but I will try to give you some hints and direction.
There are some performance and load testing tools to automate stress testing of a website.
Microsoft included performance testing in their Visual Studio.
jMeter, the open source facto standard, but uses Java (In a MS-only shop maybe stick with MS products).
How you use them:...
I think the name comes from the resulting graph over-time, which is called a stairstep graph. I don't think it is official, but more some terms added together which seemed logical.
The step load pattern increases the user load periodically during the load test.
Creating a stairstep graph where you show number of users vs time:
This instead of a continuous ...
Looking into the provided images I'm not very surprised to see your login attempt failing.
Your first screenshot shows that you're using login POST method as a very first request
Your third screenshot shows an internal server error
You need to issue a GET request to login page prior to the POST one as "normal" user would do, like:
GET request to the ...
It simplifies to knowing what you want to measure and knowing how to determine when you have measured it.
Entry criteria include:
Knowing what sort of performance you are looking at. Eg maximum load, use of system resources at various loads, affect on response times as load increases, long term stability (eg memory loss), and several others.
Stability of ...
Ask clarification questions, and lead the other side to give you an answer.
It's always a good advice, but especially true for interview questions.
Let's use your question as an example-
How do you define performance testing ? what is our goal- do we want to verify the product can achieve X or do we want to investigate and find out what X is ?
What are ...
The number of virtual users (VUs) that one computer can handle depends on the complexity and duration of the individual test cases. Many factors contribute to the complexity, including: number of requests, number of plugins called and what they do, number of extraction and validation rules. As complexity increases so does the usage of memory (RAM) and CPU ...
Depends a bit of what performance indicators you'd like to measure.
E.g. when testing timing, you may want to set certain indicators where to start the action (e.g. click a button) and when the action has completed (e.g. report was printed/shown) and simply measure the time inbetween. My current client does that manually on a per release base and measures ...