3

I am doing load testing using Jmeter.

We have hosted IIS server on Machine X and one website is running using same server.

Now I am putting load on website with 30 users for 30 minutes , during load testing run when I access server and check CPU graph and memory usage , it does not have any effect which feels like load.

Is there any my mistake here? not sure what is happening!!

Everything runs properly and Jmeter generating reports also. But I just want to verify that is there any my mistake here? Because at least there should be some up-down in server pc CPU graph and memory usage during load testing.

  • Are you getting CPU and Memory graphs from the server using JMeter, means you are getting no graphs or smooth graphs? – Dhiman Sep 8 '15 at 14:23
  • I have added listener Response graph. that is showing some average up-down. – Helping Hands Sep 9 '15 at 3:07
  • How can I verify that all requests are hitting to server perfectly..? – Helping Hands Sep 9 '15 at 3:07
1

check access logs on the tested server. You can see (and count) all incoming requests there. 30 users does not sound as much of a load but it really depends on how many requests they generate and on the nature of the tested application (simple static web vs. complex business logic). Do you have any pauses between requests?

  • Yes we have 30 seconds delay between 2 requests. – Helping Hands Sep 9 '15 at 8:09
  • So it means you are generating 2 requests per user per minute ~> 60 requests per 30 user per minute ~> 1 request per second. It is not much of a load. If your website is not extremely complex / unoptimized, I would not expect to see any peaks in memory nor CPU .. Check the access log to make sure all request are processed correctly. If you can, increase the load (best done with ramp-up time - i.e. slowly adding users to the test) and keep watching the CPU/memory load. – vernjan Sep 9 '15 at 8:16
  • okay , but in this load also my load test result shows throughput 3.0/minutes ,so does it mean that server is able to handle 3 requests per minute? – Helping Hands Sep 9 '15 at 8:18
  • Throughput is calculated as requests/unit of time (see JMeter glossary). It means you are sending 3 requests per minute to the server, but your server surely capable of handling much, much more. – vernjan Sep 10 '15 at 8:59
  • I see , but how it decide to send 3 requests per minute? what if I want to send 20 requests per minute? – Helping Hands Sep 10 '15 at 9:22
3

For your issue about the CPU and Memory usage graph, I will recommend you to use the JMeter plugin and use the Perfmon Metrics Collector listener of this plugin in your scripts. Also, you will need to place and start a file StartAgent.bat (StartAgent.sh for Linux systems) on the server and open the port 4444 on your server. Once this all is done, JMeter will capture the CPU, Memory, Disk I/O etc. (what all metrics you want) of the server and will plot the graph.

This plugin is recommended for capturing server resource utilization, when using JMeter.

Now, regarding the up-down of the graph, if your application is heavy enough to shoot up the CPU and Memory of the server even for 10 users, then these graphs will show you the required up-downs, still to be double sure check the graphs once by increasing the load to 20, 30 etc.

For verifying all requests are hitting the server or not there are multiple ways:-

  1. If you are using IIS, then check the IIS logs for the requests
  2. If your application includes any kind of Add, Update or Delete functionalities, then hit back to the Database to see if respective table/column values are getting updated or not e.g. for Add operation one new row for each user/thread should be added to the table, so if you have 30 users in script and each user is creating some data then at the end of the script your record count should get increased by 30.
  3. If your application includes any kind of Login, then check the Login history or DB table which maintain the login history of the user.
  4. Use Assertions in your script to validate the response provided by script is as expected or not, if requests are not hitting the correct URL or server then your assertion will fail.
  5. Verify your results in the Tree listener, this will show you the complete HTML of the request response being rendered, from there you will get an idea while your script is actually hitting the correct server or not.
  • Diham - Thank you again buddy. I am learning a lot about jmeter by this way.. – Helping Hands Sep 10 '15 at 3:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.