{ “passion”: [“software development”,”cloud computing”,”architecture”,”agile”, “leadership”, “machine learning” ]}

JMeter – The developer’s 2nd best friend


The JMeter group just released v1.9.1 of their product and this is a huge improvement over the last 1.8.x release. For the uninitiated, JMeter is a 100% pure Java desktop application written in Swing designed to test your application. I think of it as a poor-man’s regression and load testing tool. You can use JMeter to test web applications written in Java using JSP/Servlets as well as other applications such as Perl scripts, Java Objects, Data Bases and Queries, FTP Servers, LDAP server and more.

You use JMeter by creating a test plan which describes a series of steps JMeter will execute when run. A complete test plan will consist of one or more Thread Groups, logic controllers, sample generating controllers, listeners, timers, assertions, and configuration elements.

JMeter’s full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.

I’ll be honest and tell you that I prefer JMeter over a lot of the commercial testing tool, from my developer perspective. I love JMeter as you can create a test plan by hand or use the proxy option to record a test by just navigating through your application. Once the test plan is created or recorded, you can test your application from front to back. I love and use JUnit, and JMeter does not replace JUnit. In fact, JMeter and JUnit complement each other very well. I’ve tried to make everyone in my team use JMeter as the developer’s regression and load test tool. JMeter allows you to either POST or GET to an http source and then apply assertion to the response based on content or time. If it takes too long (and you define the time), the test fails. If the response does not contain a certain keyword, the test fails. That’s the regression part of JMeter – Once the tests are created you can apply load to your application by creating many threads and/or looping forever.

JMeter supports cookies, http POST/GET’s, SSL, URL rewriting and email among many other features. JMeter also runs in a server-mode where you can run many instances of JMeter on remote servers and use a single machine as the JMeter GUI client. This allows for true performance measurement without network bottlenecks of having all the traffic going through the same network interface.

JMeter also offers graphical analysis of performance that plots the response times on a graph. The output of the test results can be saved out as CSV or XML file that can be parsed later for analysis, if needed.

Ok – If you’re still reading this, I hope I’ve convinced you that you need JMeter and must use it. Kudos to the JMeter team on putting out another great release. If you want to download JMeter, point your browser to

http://jakarta.apache.org/builds/jakarta-jmeter/release/v1.9/

Comments on this entry are closed.

  • Hi,
    I just started to use JMeter.
    I am calling a procedure using JDBC sampler and I could get the results without any error. Can you please suggest me how can I determine whether the performance good or not. I mean which parameter should I take into consideration to determine the performance

  • Hi I have just started using JMeter and I am getting error the time i am trying to test the application hosted on remote place.

    please help me how to do laod testing when the application is hosted on remote machine.

    thanks waiting for some reply.

  • Hi Vinny!
    I’ve just started JMeter and I wish to read a data from a file and the data from the file will be last parameter of the URL i’m passing for which I wish to test. Please let me know how to go about reading from a file.

    Thanks a lot in advance
    Satya

  • Hi,
    I have just started using JMeter and i wish to test java objects in my j2ee application. Can anybody tell me how can I test java objects using JMeter.

  • Hi,
    Iam new to jmeter, iam trying to test the webapplication.I need to pass login details like user name and password from user.xml file but it is taking null values.Will you please help me to come out of the query.
    Reagrds,
    shilpa

  • hi

    i have jus started to work with Jmeter .. i m getting error while loading the WSDl file in load testing simple webservice application.. can any body tell how to proceed..

    one more thing.. can we analyse the heap usage in executing java application using Jmeter..

  • hi

    i have jus started to work with Jmeter .. i m getting error while loading the WSDl file in load testing simple webservice application.. can any body tell how to proceed..

    one more thing.. can we analyse the heap usage in executing java application using Jmeter

  • Hi
    Whenever I am trying to do remote testing using Jmeter, it is giving an error “Bad call to remote host”. I’ve made all the necessary changes in jmeter-server.bat file and and both the client and server are in same network too. Pls tell me a way to do a successfull remote testing using Jmeter.

  • hi
    jus check the following and proceed with the steps mentioned below:
    1. Ensure whether the firewalls on the systems are turned off.
    2. stop Symantec anti virus service .
    procedure:
    Before proceeding with the test, ensure the following
    1. The firewalls on the systems are turned off.
    2. All the clients are on the same subnet.
    3. The server is in the same subnet.
    4. Make sure JMeter can access the server.
    5. Make sure you use the same version of JMeter on all the systems. Mixing versions may not work correctly.
    6. Jmeter should be installed on the master and slave systems.
    Steps to Be Followed
    1. On the slave systems, go to %JMETER_HOME%/bin directory and execute jmeter-server.bat, once executed, a dos window will appear with “jre [version]binrmiregistry.exe
    2. On master system open windows explorer and go to %JMETER_HOME%bin directory
    3. Open jmeter.properties in notepad or WordPad
    4. Edit the line “remote_hosts=127.0.0.1”

    5. Add the IP address. For example, if I have jmeter server running on 192.168.0.10, 11, 12, 13, and 14, the entry would like this: remote_hosts=192.168.0.10, 192.168.0.11, 192.168.0.12, 192.168.0.13, 192.168.0.14

    6. Start jmeter. (%JMETER_HOME%binjmeter.bat)

    7. To check the working of the slave system, open jmeter.log in notepad. Ensure the following log statement appears in the Slave Systems.
    Jmeter.engine.RemoteJMeterEngineImpl: Starting backing engine
    8. Open the test plan
    9. Go to Run menu in master system and select Remote start to run the single client by choosing anyone of the IP address mentioned in list.
    10. To start all the remote clients go to run menu and select Remote start all option.

  • Hi I'm using SOAP sampler and I would like to know what is Assertion Result in the Results File which is saved after running the Test Plan.
    Please help me to understand more of the Assertion Result.

    Regards,
    Mouli

%d bloggers like this: