- Back to Home »
- Introduction
The performance of a software application is a
non-functional requirement which indicates the responsiveness of the operations
that it can perform. From user perspective, the responsiveness of the
applications should be high and fast response times are demanded regardless of the
location or the device that users are using.
A
user's satisfaction with the application is influenced by the speed of the
application. For web and mobile applications, the loading time for a page is a
major factor in page abandonment. This is evident when we look at things such
as a site's bounce and conversion rates.
Bounce rate:
A bounce occurs when a user has just a
single-page session on a site and leaves without visiting any of the other
pages. The bounce rate, which is sometimes referred to as the exit rate, is the
percentage of users who bounce: As you would expect, as page load times
increase, so too does the bounce rate.
Examples
of actions that result in a bounce include the user closing the browser
window/tab, clicking on a link to visit a different site, clicking the back
button to leave the site, navigating to a different site by typing in a new URL
or using a voice command, or having a session timeout occur.
Conversion rate:
The conversion rate is the percentage of site
visitors who ultimately take the desired conversion action. The desired
conversion action depends on the purpose of the site, but a few examples of
common ones include placing an order, registering for membership, downloading a
software product, or subscribing to a newsletter.
Page speed affects search
rankings:
Page speed is a consideration in a site's mobile search ranking in Google search results. Currently, this criterion only affects pages with the slowest performance, but it shows the importance Google places on web page performance.
Terminology:
1.Latency:
Latency is the amount of time (or delay) it takes
to send information from a source to a destination. Factors such as the type of
network hardware being utilized, the connection type, the distance that must be
traveled, and the amount of congestion on the network all affect latency.
Throughput is a measure of a number of work
items per a particular time unit. In the context of application logic,
throughput is how much processing can be done in a given amount of time. An
example of throughput in this context would be the number of transactions that
can be processed per second.
3.Bandwidth
Bandwidth
is the maximum possible throughput for a particular logical or physical
communication path. Like throughput, it is typically measured in terms of a bit
rate, or the maximum number of bits that could be transferred in a given unit
of time.
4.Processing time
Processing
time is the length of time that it takes for a software system to process a
particular request, without including any time where messages are traveling
across the network (latency).
Factors
affecting processing time are, how the application code is written, the
external software that works in conjunction with the application, and the
characteristics of the hardware that is performing the processing.
5.Response time
Response
time is the total amount of time between the user making a particular request
and the user receiving a response to that request. For a given request,
response time is a combination of both the network latency and the processing
time.
6.Workload
Workload
represents the amount of computational processing a machine has been given to
do at a particular time. A workload uses up processor capacity, leaving less of
it available for other tasks. Some common types of workload that may be
evaluated are CPU, memory, I/O, and database workloads.
7. Utilization
Utilization
is the percentage of time that a resource is used when compared with the total
time that the resource is available for use. For example, if a CPU is busy
processing transactions for 45 seconds out of a one-minute timespan, the
utilization for that interval is 75%. Resources such as CPU, memory, and disk
should be measured for utilization in order to obtain a complete picture of an
application's performance. As utilization approaches the maximum throughput,
response times will rise.
Systematic approach to
Performance Improvements:
An
iterative process that consists of the following steps can be used for
performance improvement:
- ·
Profiling
the application
- ·
Analyzing
the results
- ·
Implementing
changes
- ·
Monitoring
changes