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:
- 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.