Performance Testing Tools

 

Performance test tools

We have various types of performance testing tools available in the market, where some are commercial tools and open-source tool.

Commercial tools: LoadRunner[HP], WebLOAD, NeoLoad

Open-source tool: JMeter

LoadRunner

It is one of the most powerful tools of performance testing, which is used to support the performance testing for the extensive range of protocols, number of technologies, and application environments.

It quickly identifies the most common causes of performance issues. And also accurately predict the application scalability and capacity.

JMeter

The Apache JMeter software is an open- source tool, which is an entirely a Java application designed to load the functional test behavior and measure the performance.

Generally, it was designed for testing the Web Applications but now expanded to other test functions also.

Apache JMeter is used to test performance for both static and dynamic resources and dynamic web applications.
It can be used to reproduce the heavy load on a server, network or object, group of servers to test its strength or to analyze overall performance under different load types.

WebLOAD

WebLOAD testing tool used to test the load testing, performance testing, and stress test web applications.

The WebLOAD tool combines performance, scalability, and integrity as a single process for the verification of web and mobile applications.

NeoLoad

Neotys develop a testing tool which is called NeoLoad. The NeoLoad is used to test the performance test scenarios. With the help of NeoLoad, we can find the bottleneck areas in the web and the mobile app development process.

The NeoLoad testing tool is faster as compared to traditional tools.

Apart from them, some other tools are Electric load, web stress tool, LoadUI Pro, StresStimulus, LoadView, LoadNinja, and RedLine13, which helps to test the performance of the software or an application.


The basic parameters monitored during performance testing include:

  • Processor Usage - an amount of time processor spends executing non-idle threads.
    • Memory use - amount of physical memory available to processes on a computer.
    • Disk time - amount of time disk is busy executing a read or write request.
    • Bandwidth - shows the bits per second used by a network interface.
    • Private bytes - number of bytes a process has allocated that can't be shared amongst other processes. These are used to measure memory leaks and usage.
    • Committed memory - amount of virtual memory used.
    • Memory pages/second - number of pages written to or read from the disk in order to resolve hard page faults. Hard page faults are when code not from the current working set is called up from elsewhere and retrieved from a disk.
    • Page faults/second - the overall rate in which fault pages are processed by the processor. This again occurs when a process requires code from outside its working set.
    • CPU interrupts per second - is the avg. number of hardware interrupts a processor is receiving and processing each second.
    • Disk queue length - is the avg. no. of read and write requests queued for the selected disk during a sample interval.
    • Network output queue length - length of the output packet queue in packets. Anything more than two means a delay and bottlenecking needs to be stopped.
    • Network bytes total per second - rate which bytes are sent and received on the interface including framing characters.
    • Response time - time from when a user enters a request until the first character of the response is received.
    • Throughput - rate a computer or network receives requests per second.
    • Amount of connection pooling - the number of user requests that are met by pooled connections. The more requests met by connections in the pool, the better the performance will be.
    • Maximum active sessions - the maximum number of sessions that can be active at once.
    • Hit ratios - This has to do with the number of sql statements that are handled by cached data instead of expensive I/O operations. This is a good place to start for solving bottlenecking issues.
    • Hits per second - the no. of hits on a web server during each second of a load test.
    • Rollback segment - the amount of data that can rollback at any point in time.
    • Database locks - locking of tables and databases needs to be monitored and carefully tuned.
    • Top waits - are monitored to determine what wait times can be cut down when dealing with the how fast data is retrieved from memory
    • Thread counts - An applications health can be measured by the no. of threads that are running and currently active.
    • Garbage collection - It has to do with returning unused memory back to the system. Garbage collection needs to be monitored for efficiency.