Perfharness is a flexible and modular Java package for performance testing of HTTP, JMS, MQ and other transport scenarios. It provides a complete set of transport functionality, as well as many other features such as throttled operation (a fixed rate and/or number of messages), multiple destinations, live performance reporting, JNDI. It is one of the many tools used by performance teams for IBM MQ and IBM Integration Bus in order to conduct tests ranging from a single client to more than 10,000 clients. Customers also use the tool to test their own systems and validate they perform accordingly.
Perfharness has been available in binary form on IBM AlphaWorks for a number of years.
Download the current JDK update that does not include any other software, such as NetBeans IDE or the Java EE SDK. 2CHAPTER 2 67 Java EE 6 Software Development Kit GlassFish Server Open Source Edition 3.1 is targeted as the build and runtime environment for the tutorial examples. To build, deploy, and run the examples, you need a copy of the. Javax.ws.rs.core.MediaType, JAR file, class, query, findJAR, serFISH.
Importing Perfharness into Eclipse.
The top level folders in the repository are Eclipse projects.
- Download the repository zip file and extract into a temporary directory.
- Import the projects using the Import Wizard selecting 'Existing Projects into Workspace'.
- Select the 5 projects and make sure 'Copy projects to workspace' is ticked when importing.
This should result in you having a workspace with the following projects:
Importing Prereqs into Eclipse
Building Perfharness in Eclipse requires some extra dependancies importing to the workspace. Depending on the modules you would like to build please import the following files into the PerfHarnessPrereqs project, these files are either available on the web from Apache or from the respective product installations. JMSPerfharness requires WebSphere MQ8, MQJavaPerfHarness requires WebSphere MQ7 (or above) and the Perfharness and HTTPPerfharness modules have no prereqs
- IBM_WMQ_7:
- com.ibm.mq.commonservices.jar
- com.ibm.mq.headers.jar
- com.ibm.mq.jar
- com.ibm.mq.jmqi.jar
- com.ibm.mq.pcf.jar
- com.ibm.mqjms.jar
- com.ibm.msg.client.jms.internal.jar
- com.ibm.msg.client.jms.jar
- connector.jar
- fscontext.jar
- jms.jar
- jndi.jar
- jta.jar
- ldap.jar
- providerutil.jar
- IBM_WMQ_8:
- com.ibm.mq.headers.jar
- com.ibm.mq.jar
- com.ibm.mq.jqmi.jar
- com.ibm.mqjms.jar
- com.ibm.mq.pcf.jar
- jms.jar
- ant-contrib.jar (Always required)
AMQP Channel Module Pre-reqs
Additional Pre-reqs for AMQP Channel Module
The Java AMQP Client required by this module can be download fromhttps://developer.ibm.com/messaging/ibm-mq-light-downloads and selecting 'Download from Maven Central'.Refer to the AMQP Client READ.md as further pre-reqs jars are required.
The allclient.jar is required from the a MQ V9.0 installation.
Copy all of the pre-req jars into /lib of the AMQPPerfharness.
Users just need to install Easy File Sharing Web Server and no other software. Our solution saves your time, saves your money.Easy File Sharing Web Server contains several built-in systems including HTTP/HTTPS Web Server, multi-threads database system, Bulletin Board System, Server Script system, Password Protection system. All these are difficult for most users. Easy file sharing web server templates. All without additional configuration.You may create a virtual folder from your hard disk; visitors may upload/download files to/from it. Easy File Sharing Web Server is much easier to use than a typical FTP server.
Business owner and promoters use its highly effective options to provide key ideas and a better image of the company to decision makers. Great company reports of any divisions can be made with this amazing application. Crack crystal report 2013 sp4.
Running Perfharness within Eclipse
Once you have imported the pre-reqs you are ready to run within Eclipse or compile the jar for using on other machines. If you would like to run perfharness create a new Run Configuration for a Java application. Generally we would recommend running from Eclipse for functional and setup testing but for real performance testing using the jar from the command-line on a server.
Select 'JMSPerfHarnessMain' as the Project and 'JMSPerfHarness' as the Main Class as shown below
On the 'Arguments Tab' insert the appropriate set of program arguments such as (MQ Receiver Example):
Select the Classpath tab, highlight the 'User Entries' section and click the Add button. Add all of the PerfHarness projects to the classpath. This should result in a configuration such as this:
Click 'Run'
Compiling perfharness.jar within Eclipse
There are 4 scripts which can be used to compile Perfharness.jar depending on whether you want all the capability or a specific one. The 4 scripts are:
- Perfharness/build_all.xml - Used for building the whole package.
- Perfharness/build_HTTP&TCPIP.xml - Used for building only the http & tcpip modules.
- Perfharness/build_JMS.xml - Used for building the JMSMQ module.
- Perfharness/build_MQ.xml - Used for building the MQ module.
To compile perfharness.jar right click the the appropriate .xml file and select 'Run As' then '1 Ant Build'.
This should launch the build process which will produce the jar file perfharness.jar
Sample Commands:
MQ (using IBM MQ classes for JMS) Requestor (preferred way to access MQ):java -Xms512M -Xmx512M -cp /PerfHarness/perfharness.jar JMSPerfHarness -tc jms.r11.Requestor -nt 1 -ss 5 -sc BasicStats -wi 10 -to 3000 -rl 60 -su -wt 10 -dn 1 -mf<yourInputFile> -jh <mq host> -jp 1420 -jc SYSTEM.DEF.SVRCONN -jb <your qm> -iq REQUEST -oq REPLY -mt text -jt mqc -pc WebSphereMQ -ja 100
MQ (using IBM MQ classes for Java) Requestor:
java -ms512M -mx512M -cp /PerfHarness/perfharness.jar JMSPerfHarness -tc mqjava.Requestor -nt 1 -ss 5 -sc BasicStats -wi 10 -to 3000 -rl 60 -sh false -ws 1 -dn 1 -mf <yourInputFile> -jh localhost -jp 1414 -jb CSIM -jc SYSTEM.BKR.CONFIG -iq CSIM_SERVER_IN_Q -oq CSIM_COMMON_REPLY_Q
HTTP Requestor:
java -ms512M -mx512M -cp /PerfHarness/perfharness.jar JMSPerfHarness -tc http.HTTPRequestor -nt 1 -ss 5 -sc BasicStats -wi 10 -to 3000 -rl 60 -sh false -ws 1 -dn 1 -mf MyInputMessage.xml -jh localhost -jp 7800 -ur 'requestinout'
HTTPS Requestor:
java -ms512M -mx512M -Djavax.net.ssl.trustStore=httpsCAPHTrustStore.jks -Djavax.net.ssl.trustStorePassword=MyPassw0rd -Djavax.net.ssl.trustStoreType=JKS -cp /PerfHarness/perfharness.jar JMSPerfHarness -tc http.HTTPRequestor -nt 1 -ss 5 -sc BasicStats -wi 10 -to 3000 -rl 60 -sh false -ws 1 -dn 1 -mf MyInputMessage.xml -jh localhost -jp 7800 -ur 'requestinout' -se true
SOAP Requestor:
java -ms512M -mx512M -cp /PerfHarness/perfharness.jar JMSPerfHarness -tc http.HTTPRequestor -nt 1 -ss 5 -sc BasicStats -wi 10 -to 3000 -rl 60 -sh false -ws 1 -dn 1 -mf <yourInputFile> -jh localhost -jp 7800 -ur 'SoapProvider' -sa SummerSale
TCPIP Requestor:
java -ms512M -mx512M -cp /PerfHarness/perfharness.jar JMSPerfHarness -tc tcpip.TCPIPRequestor -nt 1 -ss 5 -sc BasicStats -wi 10 -to 3000 -rl 60 -sh false -dn 1 -mf MyInputMessage.xml -jh localhost -jp 1455 -rb 1384
Common Flags:
Docker
There is a git repo that can help develop a dockerized version of JMSPerfHarness called jmstestp
Additional Information
For more in-depth documentation please refer to the PerfHarness manual in the PerfHarness/docs/ folder.