My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for

Servers Performance Monitoringsince 0.3.0

Introduction

During a load test, it is important to know the health of the servers loaded. It is also nice to see if you are targeting a cluster if the load is correctly dispatched. To address this, the plugin package now supports server monitoring! Using it, you can monitor CPU, Memory, Swap, Disks I/O and Networks I/O on almost all platforms!

Here is how the plugin looks like. It shows the CPU usage of 4 servers involved in the load test:

How it works

Concept

JMeter cannot retrieve by default server metrics except Tomcat ones. To overcome this situation, we have developed a server agent which will get performance data for JMeter. The agent uses the SIGAR open source library. It is composed of a Java common part and native libraries per OS.

Installation

Server Agent tool detailed description is placed here.

Usage

GUI Mode

In GUI mode, just add the listener, define servers and metric types to monitor, ensure the agent is running at remote server and is not blocked by a firewall, then run the test. The values will be displayed at real time chart.

Non GUI Mode

If you run JMeter in non GUI mode and want to save monitoring data to file, just configure result file saving in GUI as you do with other listeners. After running the test you may load saved file into GUI and see the values timeline.

Metrics collected

Since version 0.5.0 the Server Agent tool supports collecting over 75 system metrics. See full list.

CPU

This graph displays the CPU usage in percent. Multi core / Multi processors are suported.

Memory

This graph displays the memory used.

SWAP

This graph displays the swap usage in term of number of pages in and pages out. A page in is one block of memory written to the disk, a page out is one block read from the disk back to memory.

Disks I/O

This graph displays the number of read and write access to all mounted disk. Due to SIGAR api limitation, this is not working for Solaris with metadevices such as vxfs. It may be fixed in a future release of SIGAR api.

Networks I/O

This graph displays the Bytes sent and received by all networks adapters.

Comment by dle...@gmail.com, Oct 7, 2010

Where to find UniversalServerAgent?.zip ?

Thanks

Comment by project member Stephane...@gmail.com, Oct 7, 2010

Hi, it is not released yet, but we may post a beta soon. You can build it from the sources if you want, it is ready :)

Comment by danny.bo...@gmail.com, Oct 22, 2010

Hello,

This looks very promising, is there already a release date set for the beta?

Kind Regards,

Danny

Comment by project member a...@apc.kg, Oct 22, 2010

Hi, Danny, Specific date wasn't set yet, but it's almost released. If you interested, I can send you current snapshot to try.

Comment by danny.bo...@gmail.com, Oct 25, 2010

I am very interested, please do. I have been trying to build it, but I am failing to do so. Could you please provide a tutorial, how to build (with eclipse, if possible). In case I want to add something in the near future. Thinking of a save button for the graph produced. Kind regards,

Danny

Comment by project member Stephane...@gmail.com, Oct 25, 2010

Hi Danny,

I have already in mind the save to image functionality. As of now, you can right click the graph and copy it to clipboard. For building the project, I recommend you to use NetBean IDE, it is simpler to integrate the JUnit tests. Also we provide the build file which do all the job.

Regards,

Stephane

Comment by project member Stephane...@gmail.com, Oct 25, 2010

The feature save as png image is now added :)

Regards,

Stephane

Comment by balu1...@gmail.com, Oct 27, 2010

Hi Stephane,

How to collect counters from tomcat server,can u give me details about this.

Comment by project member Stephane...@gmail.com, Oct 27, 2010

Hi,

You can find this information in JMeter documentation: http://jakarta.apache.org/jmeter/usermanual/build-monitor-test-plan.html

Comment by lucas.po...@gmail.com, Nov 8, 2010

Hi,

this is a great plugin.

Have you scheduled automatic backup of the graph at the end of a run? This could be useful for automatic run with non GUI mode.

Thanks.

Comment by project member Stephane...@gmail.com, Nov 9, 2010

Hi Lucas,

Thanks for your feedback! It could be a nice addition, I will check if it can be done.

Comment by yogesh.t...@gmail.com, Nov 9, 2010

Hi,

Where can get it for download? Thnx in Advance.

Comment by project member Stephane...@gmail.com, Nov 10, 2010

Hi, From the download link in the home page...

Comment by anantr...@gmail.com, Nov 12, 2010

Cool ! ..Works great !

Comment by yogesh.t...@gmail.com, Nov 15, 2010

Hi,

I am unable to get the results from plugin when I run jmeter from command prompt. I started the serveragent and then started jmeter with command -

jmeter -n -t mytest.jmx -l log.jtl

Comment by project member Stephane...@gmail.com, Nov 18, 2010

Hi,

It will be added in the next release.

Stephane

Comment by lucas.po...@gmail.com, Nov 19, 2010

Hi Stephane,

Thanks for adding, I tested at the next release.

Lucas.

Comment by koolgaur...@gmail.com, Nov 22, 2010

Hi

Thanks for creating such a sexy plugin.

Apart for this i need help on a problem.

I have 1000 requests for which I want the graph to be created (Server Monitoring).

But i am not able to save the graph for complete test as it keeps on running from right to left and eventually it stops when test gets finished and the result shown on the graph is for just few request not for complete 1000 request.

Please can anybody help me on this ?

TIA Gaurav

Comment by project member Stephane...@gmail.com, Nov 22, 2010

Hi,

The graphs will collect the server metrics during the test plan execution. How did you organized your test plan?

Comment by koolgaur...@gmail.com, Nov 22, 2010

I am just sending the login request for say 500 users on 2 sec interval.

Is there anything that needs to be configured in Jmeter test plan.

Please suggest

Comment by project member Stephane...@gmail.com, Nov 22, 2010

Please send me your test plan, I still don't understand where is the problem...

Comment by Caesar.S...@gmail.com, Dec 1, 2010

I got this problem, please tell me why:

[root@mar serverAgent]# sh startAgent.sh : command not found 2: JMeterPlugins Agent version 1.3 No valid port specified, the default value is used: 4444 liblibsigar-x86-linux.so: liblibsigar-x86-linux.so: cannot open shared object file: No such file or directory org.hyperic.sigar.SigarException?: liblibsigar-x86-linux.so: liblibsigar-x86-linux.so: cannot open shared object file: No such file or directory

at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:174) at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:102) at java.lang.Class.initializeClass(libgcj.so.7rh) at kg.apc.jmeter.perfmon.agent.MetricsGetter?.<init>(MetricsGetter?.java:72) at kg.apc.jmeter.perfmon.agent.MetricsGetter?.<clinit>(MetricsGetter?.java:48) at java.lang.Class.initializeClass(libgcj.so.7rh) at kg.apc.jmeter.perfmon.agent.ServerAgent?.startServie(ServerAgent?.java:66) at kg.apc.jmeter.perfmon.agent.ServerAgent?.main(ServerAgent?.java:125)
Error while getting disks: java.lang.UnsatisfiedLinkError?: getFileSystemListNative Error while getting network interfaces: java.lang.UnsatisfiedLinkError?: getNetInterfaceList java.lang.UnsatisfiedLinkError?: gather Waiting for incoming connections...

Comment by project member Stephane...@gmail.com, Dec 2, 2010

please start the agent using ./startAgent.sh

Comment by marco.ma...@realemutua.it, Dec 28, 2010

When (approximately of course) do you release next version with graph saving in console mode?

Comment by project member Stephane...@gmail.com, Dec 28, 2010

Hi, You can find a beta in the download section (select deprecated downloads). 0.3.1 beta 2 has this functionality enabled. Official release date is not defined yet.

Comment by san...@pa7.nl, Jan 4, 2011

Hi,

The functionality works great if all the servers to monitor are up and running. If one of the servers is not active or the agent crashes, then the graphs are no longer showing data of the other servers (which are still active). Also the data that was shown before the agent crashes is no longer visible for CPU and memory.

Secondly: I see different behaviour for the metrics to collect when the connection is lost. CPU and memory show an error telling that the connection is lost with the particular server. The other 3 metrics still show the graph, but it is no longer updated.

Kind Regards, Sander

Comment by project member Stephane...@gmail.com, Jan 4, 2011

Hi,

The different behavior is fixed already ( issue 7 ). The agent should not crash, did it happens to you?

Comment by san...@pa7.nl, Jan 4, 2011

Hi Stephane, It was my fault the agent stopped....my roots are in testing applications ;-)

What will be the future behaviour if one of the agents is not active? Will the other agents still populate the graphs or will I see an error in all five metrics? In case of the last, I want to request an enhancement ;-)

Comment by san...@pa7.nl, Jan 11, 2011

Hi Stephane, How often are the metrics collected (each second?). Is there any way to change this? Or is it possible to do some aggregation afterwards?

I'm running a test for 1 hour now and the CPU is constantly changing between 20 and 90%....so i'm seeing a big red blur :-)

Kind Regards, Sander

Comment by project member Stephane...@gmail.com, Jan 11, 2011

why don't you use limit nb of point option??? I think it is available in 0.3.0 no?

Comment by san...@pa7.nl, Jan 11, 2011

That will work....I thought I was using beta2, but apparantly I was using beta1, which does not contain that option.

Thanks. Any ideas when we can expect 0.3.1 officially?

Comment by project member a...@apc.kg, Jan 11, 2011

Hi, Sander, The date of next release is stil not known. When we'll have Composite Graph implemented and all features tested - we'll release.

Comment by lars.rei...@gmail.com, Jan 11, 2011

Hi,

thanks for a good plug-in!

Is it possible to use axis labeling? It would be great to have some basic units like %, MB, MB/sec, etc. Does CPU consumption (100 mean e.g. 4x100 % on a quad core system?)

Secondly, I wanted to ask if the time-axis can be changed to relative time. It does not matter if my test was started at a specific time, but how long the test took exactly (e.g. seconds to hours). This would also safe space for the time axis...

An automatic scaling, depending on test duration, would be optimal.

Feel free to point me to beta / testing releases for that.

Comment by project member Stephane...@gmail.com, Jan 11, 2011

yes, 100 on a quad core means 4*100. Labels could be a nice addition, we will look at it, as well as relative time. X axis is already auto scaling, total time is divided by 10... What exactly do you mean?

Comment by lars.rei...@gmail.com, Jan 12, 2011

Thanks, you are right. Scaling works well. If you have had the time to introduce axis labels and relative test time, please let me (us) know :)

Comment by project member Stephane...@gmail.com, Jan 13, 2011

Hi, axis labels is done. You can see a sample in RespTimePercentiles

Comment by lars.rei...@gmail.com, Jan 17, 2011

Nice, is there another beta release available where it could be checked out?

Btw, is it possible to user user variables in the performance module? I've variables defined via the user.properties file (which work fine but I get the following message: java.lang.ClassCastException?: org.apache.jmeter.testelement.property.FunctionProperty? cannot be cast to org.apache.jmeter.testelement.property.StringProperty? at kg.apc.jmeter.perfmon.PerformanceMonitoringTestElement?.getConnectors(PerformanceMonitoringTestElement?.java:101) Variables using this syntax: ${property(server1,localhost)}. Am I doing something wrong?

Comment by lars.rei...@gmail.com, Jan 17, 2011

Additionally, I've a problem when connecting to the Network I/O Performance Monitor. All other monitors work fine. I get a connection lost message on the agent. Are there additional settings which can influence this? Perhaps someone can reconfirm with 4 active perfmon listeners? Otherwise, whould I file a report?

Comment by hyuci...@gmail.com, Jan 17, 2011

Is there any way to collect that data to make the graphs by myself???

Comment by project member a...@apc.kg, Jan 17, 2011

Next release will have "export graph data to CSV" feature.

Comment by project member a...@apc.kg, Jan 18, 2011

Folks! Let's use discussion group, comments become unusable as you see...

Comment by san...@pa7.nl, Jan 18, 2011

Hi, I noticed the new option to load a Perfmon File, but what kind of extension does it look for?

Comment by project member a...@apc.kg, Jan 18, 2011

It consumes files generated during command-line run...

Comment by project member Stephane...@gmail.com, Jan 18, 2011

Hi, yes, it reads jppm files (JPPM=JMeter Plugins Peformance Monitoring). In command line, you can specify "-Jjppmfile=/path/to/file.jppm". If nothing is specified, a file is created in the running path of JMeter, named perfmon_yyyyMMdd-HHmmss.jppm.

Comment by san...@pa7.nl, Jan 18, 2011

Hi again, I really fancy the preview charts.

Question about the scaling: If I select to limit the numer of points in a row for the networks I/O the Y-axis still shows 150.000 a max number of KB/s while the graph does not exceed 15000. Because of this the lines are barely visible. Is there a possibility to auto-scale or manually adjust to see 30.000 as a max number for example?

Comment by project member Stephane...@gmail.com, Jan 20, 2011

Hi Sander, Can you send me a jppm file to test? Can you add a screenshot of what you get?

Comment by san...@pa7.nl, Jan 21, 2011

Hi Stephane, I e-mailed a file to you. Let me know if you received it correctly.

Comment by dsathish...@gmail.com, Jan 24, 2011

I think it would be really fine if u could explain the installation of 0.3.0 version by a Video recording..... because it seems a bit complicated..!!@@!! I have tried this twice r thrice but couldn't get things fall in place

Comment by marco.ma...@realemutua.it, Jan 26, 2011

Is the CPU graph also including I/O Wait or just kernel and user?

Comment by marco.ma...@realemutua.it, Jan 26, 2011

I've just downloaded version 0.3.1 beta 2 as you suggested in date 28/12/2010. I cannot find the functionality to save graph images to file.

Comment by project member Stephane...@gmail.com, Jan 26, 2011

Hi Marco, The graph is not saved, but the collected metrics in a jppm file. Then you can reload these files in a graph from jmeter. The CPU metric is Sum of User + Sys + Nice + Wait.

Comment by marco.ma...@realemutua.it, Jan 27, 2011

Ok for jppm file. Are you interested in adding a functionality to enable/disable Wait from CPU graph?

Comment by SwissSlinky@gmail.com, Jan 27, 2011

Trying this with distributed testing, it borks - http://pastebin.com/sMzpSu4V

S

Comment by project member Stephane...@gmail.com, Jan 27, 2011

Hi,

I don't see any class from the plugin in the stack. Are you sure your test works without the plugin? Which version of the plugin do you use?

Comment by SwissSlinky@gmail.com, Jan 27, 2011

Hi Stephane,

I grabbed the latest and greatest set of plugins this morning. Tests work without the plugins, and all works fine when not using distributed testing approach.

cheers Slinky

Comment by project member Stephane...@gmail.com, Jan 27, 2011

If it is the 0.3.0 version, the feature is not implemented. It will be added in the next version only. A beta with all features of the next release may be out soon.

Comment by bhaswan...@gmail.com, Feb 2, 2011

Hi,

I am facing a problem while starting the server agent in linux, i started the the agent : sh startAgent.sh

and the error am facing is as given below: : command not found 2: JMeterPlugins Agent version 1.3 No valid port specified, the default value is used: 4444 Could not listen on port: 4444. Please specify another port...

Please help me out

Comment by project member Stephane...@gmail.com, Feb 2, 2011

Well, do what is told, use another port...

Comment by bhaswan...@gmail.com, Feb 2, 2011

Hi Stephane,

I tried giving another port too,as given: sh startAgent.sh 8989
but am facing the same problem:
command not found 2: JMeterPlugins Agent version 1.3 No valid port specified, the default value is used: 4444 Could not listen on port: 4444. Please specify another port...

Comment by project member Stephane...@gmail.com, Feb 3, 2011

Hi,

Please download last RC version (link in the home page) and follow the installation guide: http://code.google.com/p/jmeter-plugins/wiki/PerfMon#Installation

Comment by bhaswan...@gmail.com, Feb 3, 2011

Hi Stephane,

Is is working perfectly now, thanks...

Comment by bhaswan...@gmail.com, Feb 4, 2011

Hi,

the plugin is working properly, but when I try to run the script in remote server the script is not running and when I click on plugin its not opening and am getting an exception as below:
Using remote object: UnicastRef? [liveRef: [endpoint:[192.168.10.34:49636](remote),objID:[46afad87:12def9d7d08:-7fff, -8552588589970881623]]]
Exception in thread "AWT-EventQueue?-0" java.lang.NullPointerException?

Comment by project member a...@apc.kg, Feb 4, 2011

To all, Wiki comments are not good to use as support mailing list. There is project mailing list for such inquiries, please use it since now. I'm disabling comments for this wiki page.

Powered by Google Project Hosting