3 Common Application Performance Bottlenecks—And How to Avoid Them

January 15 2019
 

Optimizing application performance today is a challenge. Here’s how to side-step slow-downs and eliminate the most common application performance bottlenecks.


Optimizing application performance today is far more complicated than it was a decade ago. Changing technology, user behavior, and consumer expectations have all brought new opportunities—and challenges.

Ever-increasing website and application complexity, the rapid growth of mobile devices, and the relentless increase in internet users around the world have all converged to land us squarely in a new era of application performance management.

For businesses, these changing technology and consumer behavior trends represent enormous opportunity: new markets to reach, an increase in web and app users, and more customers. But they also raise important new concerns about application performance.

What Causes Poor Application Performance?

In today’s business environment, poor application performance can be disastrous—even just a few seconds of downtime can have a severe impact on business revenues, reputation, and customer satisfaction. To deliver the best experience for every user, every time, it’s critical to understand and overcome the barriers to optimal application performance.

Here are three common application performance bottlenecks—and tips on how to prevent them from happening:

  1. CPU Utilization

These days—largely due to the rise of mobile devices—it’s the CPU that takes the blame for the most performance slow-downs.

How we consume the web and interact with applications has changed dramatically, and consumption is no longer relegated to the desktop. In 2018, 66 percent of individuals in 52 key countries will own a smartphone, up from 58 percent in 2016. And while engineers may spend whatever it costs to get the latest from Apple, the fact is that low-cost Android devices are driving internet traffic growth globally. In fact, IDC forecasts that in 2022, Android phones will total over 85 percent of global shipments.

As websites and apps have become more complex—with software engineers using more JavaScript, more images, and adding layers of complexity that simply weren’t considerations in the mid-2000s—it’s become increasingly vital to pay attention to browser performance on mobile devices, specifically those without a lot of memory or a powerful CPU.

To avoid this potential bottleneck, fire up your app on devices with varying CPU capabilities and see how it runs using Chrome DevTools to throttle the CPU. And don’t go easy. By pushing it to the limit, you’ll expose the weaknesses in your app or site. These stress tests will make it easier to find performance hiccups, too.

  1. Network Environments

Between March 2007 and December 2017, the number of internet users worldwide jumped 37 percent, from just over 1.1 billion to 4.2 billion. And this tremendous internet user growth—particularly in developing markets—brings different network environments with a host of new constraints.

Latency is a massive problem in some of these regions. In Africa, for instance, many content delivery networks (CDNs) have poor coverage, which often means an end user must access a server on another continent.

High latency and low bandwidth networks are huge issues in developing markets, but generally not hot topics for conferences or articles. As a result, most developers haven’t spent a lot of time thinking about network considerations in developing regions. But they should.

To overcome this application performance bottleneck, you need to start with a deep understanding of your target market: what networks people are using, and what considerations and constraints you’ll have to deal with. Without this knowledge, you’re shooting in the dark, and battling performance issues without really knowing what you’re up against.

Armed with this insight, you can then use Webpagetest to simulate poor network conditions and gain visibility into the impact of different network environments on application performance.

  1. Server Performance

If you’re only monitoring the front-end and not paying attention to what’s happening in your application on the server, you’re ignoring a huge chunk of your site or application—and potentially setting yourself up for trouble.

The same client-side bottlenecks and performance glitches can appear on the server, which you must monitor closely to make sure everything is performing as it should. Application performance monitoring (APM) software can help you monitor and detect anomalies before they cause a major problem.

And when it comes to APM, there’s a significant divide between front-end and backend developers. Sites with JavaScript-heavy front-ends are less likely to use APM, whereas companies that take a more traditional approach of server responding to client, or those with highly complex back ends, are more likely to have an APM solution in place already. But in truth, both camps deserve a fully integrated monitoring solution, one that connects what a user is experiencing on the front-end with any processing taking place in the backend, and this is often done through the concept of a Business Transaction.

Cutting Through Application Performance Complexity

Delivering flawless end-user experiences is critical in today’s digital world, but the sheer complexity of modern applications often puts performance in jeopardy. By understanding the factors that can negatively impact application performance—and having strategies in place for how you will leverage modern tools and technologies to avoid them—you’ll be able to sidestep slow-downs and eliminate obstacles to optimal application performance.

Get the Guide

For more detailed insights into the major application performance bottlenecks—and how you can identify and fix them before they impact your end users—download the eBook Why Application Performance Bottlenecks Matter and How to Avoid Them in the Enterprise.

AppDynamics Team

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form