You are on page 1of 5

10 Common Problems APM Helps You Solve

December 2013

10 Common Problems APM Helps You Solve

Abstract
Applications in today's distributed, cloud-based IT environment need to perform at their peak at all times. Unfortunately,
most do not. And while many developers and IT professionals have Application Performance Management (APM)
solutions, they often don't know how to take full advantage of the benefits. This SlashGuide gives IT professionals and
developers practical advice they need to get the most out of APM.

Introduction
In most companies today, applications consist of interdependent yet discrete components running on a variety of
dedicated, virtualized, hosted, and cloud systems. At the same time, traffic between these components and to and from
end users runs over corporate backbones, the Internet, and cellular data networks. All of these factors can contribute to
application performance problems.
Because of the complexity of application delivery environments, IT managers and developers often have a hard time
detecting performance problems and their root causes. As a result, many companies are turning to application
performance management (APM) for help. Here are 10 common quality and performance problems APM can help fix:
1. Application Code Issues: The need to quickly respond to market conditions to stay competitive means IT
managers and developers must roll out new services as fast as possible. In some cases, the haste to deploy
these applications may introduce problems in the code itself. For example, application performance may be
affected by inefficient code, synchronization issues, memory leaks, application deadlocks, and other codebased issues that cause trouble. APM can help identify the code-related factors that contribute to poor
application performance.
2. Database Performance: Most applications make calls to a database or several databases. The application
will suffer performance problems if the database is not performing correctly. Common causes of database
performance issues include locking and contention, missing indexes and inefficient queries, and memory
management trouble. APM can help identify database factors contributing to poor application performance.
3. Server Performance and Load Balancing: In today's highly virtualized IT environments, multiple instances of
critical applications are all contending for the same server compute, memory, storage, and I/O resources.
Some IT managers and developers try to minimize the problem by building in load balancing. However, bad
load balancing practices can mask inherent server resource problems for particular applications. APM can
help identify server resource utilization issues for discrete application components. This information could
then be used to match the right resources to an application.
4. Third-Party Code and Service Performance Problems: Todays complex applications frequently combine
custom-written code with third-party code and services. For a user to carry out a transaction or complete a
task, all elements of an application must work together, with each executing in a timely manner. A slow
element degrades the overall performance of the application, which degrades the user experience. One
would assume any custom code written for a particular application would be optimized to reduce
performance problems. However, that is not always the case. Third-party code and services might deliver

http://t2.gstatic.com/images?q=tbn:ANd9GcQxQU-LHKSGH1e3MoBDUBg3jp-fcWOZaYnEVufnjkhICp3AVLT-

10 Common Problems APM Helps You Solve

high performance in certain situations, but not others if they were not designed for a particular runtime
environment. APM could help identify slower performing third-party code and services, particularly when
the performance of these elements impacts the overall user experience.
5. Application Memory Leak Detection: Inefficient memory usage can degrade a users experience. One factor
that influences memory availability is a memory leak, which is a block of allocated memory that the program
no longer uses. Instead of being released (and made available to other programs) once code runs, that
memory remains tied up--which can diminish an applications performance. Leaked memory eventually
forces the system to allocate additional virtual memory pages for the application. This can slow performance
by requiring extra paging activity. However, finding the source of a memory leak can be difficult since there
are several possible causes. For example, a program might request some shared memory but not release it
even when the program terminates or a long-running program might consume additional memory over time
to manage background tasks. APM could help identify code-level sources of leaks.
6. Configuration Settings: Most applications rely on commercially available or open source components (a web
server, for example). In many cases, the components are deployed and installed using default settings. Such
settings may not be the best to provide optimal performance for that particular component when used as
part of a larger application. APM could be used to help focus in on the performance of the discrete
application components. Once this information is known, the configuration settings might be changed to see
if there is a way to boost that element's performance.
7. Rising End-User Expectations: Most end users have broadband services in their homes and are conditioned
to expect all applications and web sites to work as fast as consumer products and services. In fact, most
expect always-on access from anywhere, at any time, and from any device. As a result, poorly performing
corporate applications will be noticeable immediately. APM could help determine end-to-end application
performance so that IT managers and developers become aware of any performance problems before their
users find them and complain.
8. Issues Related to Mobility: With companies rapidly adopting "bring your own device" (BYOD) policies, many
users are now allowed to access corporate applications from smartphones and tablets. Cellular data
servicesbe it 3G, LTE, or 4Gprovide connectivity, but may not offer the bandwidth a user would get on a
desktop computer hardwired to the corporate backbone. APM could be used to identify issues associated
with supporting applications on mobile devices. If the cellular link is a performance limiter, a developer
might change the code to, for example, only send updates to pages rather than refresh an entire page. And
IT managers might opt to use other techniques like data compression to try to match the performance of an
application in the office.
9. Increased Complexity of IT Environments: Critical applications depend on a wide range of data center
componentsincluding databases, operating systems, servers, networks, and storage systemsworking
together. Add in virtualization and the use of cloud infrastructure services and it becomes apparent that
getting applications to run in an optimal manner is an extremely complex task. Traditional approaches to
managing application performance often measure components like database efficiency or network
performance. APM is often used to measure end-to-end performance. Once that information is available, IT
managers and developers can drill down to the various IT elements to see how to increase the performance
of slower performing applications.

http://t2.gstatic.com/images?q=tbn:ANd9GcQxQU-LHKSGH1e3MoBDUBg3jp-fcWOZaYnEVufnjkhICp3AVLT-

10 Common Problems APM Helps You Solve

10. Keeping Pace with Dynamic Application Deployment Environments: With virtualization and the use of
cloud services, instances of application components can be easily and quickly moved to different physical
servers and to the cloud. APM can help IT managers and developers isolate performance bottlenecks of
individual instances in order to fix issues related to the network, databases, or the application code itself.

Riverbed as Your Technology Partner


With so many potential problems, APM offers IT managers and developers a way to help guarantee applications meet
their stated business performance requirements. This is elevating the role of APM in many companies.
Specifically, companies need an APM solution that provides deep visibility into the performance of complex, multi-tier
applications. The solution must give IT managers and developers complete insight into the performance of applications.
This is an area where Riverbed Technology can help. By combining end-user experience monitoring, code-level
transaction tracing and deep application component monitoring into a unified solution, Riverbed Application
Performance Management solutions allow you to get a big picture view of application transaction behavior, understand
whether an application will perform well in the cloud, and accelerate troubleshooting of applications in production or
prior to a deployment.
What an end-user perceives as a single operation involves many distinct application transactions across many different
application components including the back end database, web server, middleware, auditing servers, and backend thirdparty services. Transaction tracing and component monitoring helps you track, monitor, and troubleshoot the
performance of every component of multi-tier applications and the transactions that link them.
Riverbed Application Performance Management (APM) is Big Data APM. It combines the most advanced APM features
available: End-User Experience monitoring, End-to-End Transaction Tracing and Big Data transaction storage and analytics
into a comprehensive performance management solution.
AppInternals enables IT managers and developers to rapidly identify the source of a performance problem, as well as
identify any other issues that might be created by the source problem. This strong correlation capability is significantly
different from other APM tools that only identify an issue but dont tell you how to eliminate other related problems.
According to a 2013 study by Jonah Kowall and Cameron Haight at Gartner:
The data collected by many conventional monitoring solutions lacks the granularity and contextual enrichment
needed to improve Web-scale decision making.
Many standard application performance monitoring (APM) tools lack the ability to be part of a lightweight
management toolchain.

http://t2.gstatic.com/images?q=tbn:ANd9GcQxQU-LHKSGH1e3MoBDUBg3jp-fcWOZaYnEVufnjkhICp3AVLT-

10 Common Problems APM Helps You Solve

Riverbed APM addresses these key requirements by providing market leading capabilities that are unsurpassed in
information granularity and contextual richness, all with a footprint so lightweight that AppInternals can be deployed in
even the most demanding production environments.
Taken together, Riverbed Technology solutions provide IT managers and developers with the visibility and actionable
insight to help deliver the application performance that users and businesses demand.
For more information about Riverbed Technology APM solutions, visit http://www.riverbed.com/productssolutions/products/application-performance-management/

About Riverbed
Riverbed is the leader in Application Performance Infrastructure, delivering the most complete platform for LocationIndependent Computing. Location-Independent Computing turns location and distance into a competitive advantage by
allowing IT to have the flexibility to host applications and data in the most optimal locations while ensuring applications
perform as expected, data is always available when needed, and performance issues are detected and fixed before end
users notice. Riverbeds 24,000+ customers include 97% of the Fortune 100 and 95% of the Forbes Global 100. To learn
more, go to http://www.riverbed.com/

http://t2.gstatic.com/images?q=tbn:ANd9GcQxQU-LHKSGH1e3MoBDUBg3jp-fcWOZaYnEVufnjkhICp3AVLT-

You might also like