You are on page 1of 2

Application O3ptimization

When it comes to measuring the overall performance and health of an entire application ii, there is only
one perspective that mattersthat of the end users.

Elements which contribute to the End User Experience (EUE)


What contributes to the experience your end users have with an application?
GeneraWater lly, every single component of the r contributes to the experience your end users.

Some elements which contribute to the end user experience in a web application
1. Thames end users Web browser, which may have to execute client-side scripts and
2. other code
3. The network connections between the user and the Web server
4. The Web server hardware (or, in the case of a virtual server, the virtualization host
5. and its hardware)
6. The Web server software, such as Apache or IIS
7. The application code, which may be ASP.NET, Java, PHP, or something else
8. The connection between the Web server and the database server
9. The database server hardware, including its storage subsystems
10. The database server software, such as Oracle, MySQL, or SQL Server
11. The database codequeriesthat are executed on the server

This is not a complete list. There may be other elements. For example, The network connections may
consist of multiple routers, switches, proxy servers, firewalls, and more, all of which can contribute to
poor application performance.

Methodology
1. Monitoring end-user experience. Tracking the actual experience of the end user who
is operating the application and executing user-level transactions. This will involve using
a tool to gather performance data on user transactions.
2. User-defined transaction profiling. User transaction profiling involves following
specific user transactionssuch as submitting a form or completing a checkoutin
more granular detail. Here, were not concerned so much with the total transaction
time-to-completethats what the step 1 is all aboutbut rather are concerned with
what bits of the application are spending time processing the transaction. The idea is to
get a general sense of where time is being consumed, and to determine which broad
layer of the application is consuming enough time to push the numbers in step 1 over
their thresholds of acceptability.
3. Application component discovery and modeling. This is designed to discover the
specific components that contribute to an applications performance in any way. This
may include both hardware and software components. For example, a database server
may be broken down into components like processor, memory, disk, query execution
time, and so forth.
4. Application component deep-dive monitoring. With the individual components fully
mapped out, this stage concerns itself with digging deep into each one to ferret out
component-level performance.
5. Application performance management database. The real purpose of this database is
to take the raw data from the first four stages and produce the visualizations needed to
investigate the root cause of the performance problem.

Application Optimization
After identifying the causes of the performance problem step 5, appropriate decisions will be
made to deal with the problem. Some of the actions which could be taken may include some of
the following:
IIS optimization
SQL server optimization
Changing certain parts of the code
Change in hardware configuration
Change in network configuration