Welcome!

@DevOpsSummit Authors: Liz McMillan, Elizabeth White, Pat Romanski, Yeshim Deniz, Zakia Bouachraoui

Related Topics: @DevOpsSummit, Java IoT, Microservices Expo

@DevOpsSummit: Blog Post

Common Web App Performance Problems By @Neotys | @DevOpsSummit [#DevOps]

The best way to address performance problems is to find and eliminate them before they affect users

The 10 Most Common Web App Performance Problems

It's inevitable that web application problems are going to happen. Here at Neotys, our business is based on helping you prevent problems through website monitoring and testing. But problems can come from anywhere, and sometimes you just need to know where to look. So we decided to put together a short guide on some of the most common performance issues you'll encounter.

Now, it's important to remember that the best way to address performance problems is to find and eliminate them before they affect users in the first place. One of the best tools you can have in your pocket is a good maintenance program. Develop a strategy for downtime and create redundancy and scaling plans. Think about what kind of user load you'll need to handle over the next month, as well as the next year. And of course, test load regularly and monitor production performance continually.

However, no matter how careful and diligent you are, things are going to happen. So here are some of the common causes of performance problems and what you may be able to do to address them.

Problem 1: Poorly Written Code
Poorly written code can lead to a host of web application issues including inefficient algorithms, memory leaks and application deadlocks. Old versions of software, or integrated legacy systems can also drag performance down. Make sure your teams are using all the tools at their disposal - from automated tools like profilers to best programming practices like code reviews.

Problem 2: Unoptimized Databases
An optimized database allows for the highest levels of security and performance, while an unoptimized database brings can destroy a production application. Missing indexes slow down the performance of SQL queries causing, which can drag down an entire site. Be sure to use scripts and file statistics to check for any inefficient queries.

Problem 3: Unmanaged Growth of Data
Data systems tend to degrade over time. Developing a plan to manage and monitor data as it grows is indispensable to your web performance success. The first step is deciding who is accountable for data growth in your business. From there, your team will need to research and determine the appropriate storage for your data needs. Look at all your options, from databases to caches to more sophisticated layered storage solutions.

Problem 4: Traffic Spikes
We generally think of increased traffic as a good thing. However, anyone who has experienced major traffic spikes after a marketing promotion or viral video knows what can happen when you aren't properly prepared for them. Planning ahead is key, and set up an early warning system through simulated user monitoring systems like NeoSense. That way, you'll see when traffic is impacting transactions before your users have a bad experience.

Problem 5: Poor Load Distribution
Poor load distribution can cause slow response times by incorrectly assigning new site visitors to bogged-down servers instead of others with cycles to spare. If too many people are on the same server, they're going to experience problems, even if the overall system is well under capacity. It is imperative to test with a product like NeoLoad as it will help you find any infrastructural weaknesses at hand.

Problem 6: Default Configurations
Systems must be properly tuned. While default configurations make it easy to get new components up and running, they're not always appropriate for your web applications in a live production environment. Every setting should be checked: review thread counts, allocated memory and permissions. Confirm that all configuration parameters suit the demands placed on your web application, and aren't the way they are just out of convenience.

Problem 7: DNS, Firewall, and Network Connectivity
DNS queries make up the majority of web traffic. That's why a DNS issue can cause so much trouble, preventing visitors from accessing your site and resulting in errors, 404s and incorrect pathways. Likewise, network connectivity and firewall efficiency are crucial for access and productivity. Use DNS monitoring safeguards to pinpoint problems at hand. Also, revise switches, check VLAN tags, and distribute tasks between servers. These are just a few ways to troubleshoot these types of performance issues.

Problem 8: Troublesome Third-Party Services
If you rely on third-party services, you know that some slowdowns are out of your control. Who hasn't experienced a stalled page, waiting to load an ad from someone else's ad server. If your users are experiencing problems, it's essential to determine if the problem is on your side or that of the third-party. If you decide to continue using the third-party service, look at making some design changes to protect your site from at least some of the effects of a third-party service issue. Finally, make sure your company and the off-service provider are clear on performance guarantees.

Problem 9: Shared Resources and Virtual Machines
Just about every web application today relies on virtual machines for everything from scalability to management to system recovery. However, sometimes the way these virtual systems are organized - hundreds of VMs on a single physical server - can result in problems where one bogged-down system affects all the others. After all, contention is bound to happen. Monitor systems closely so that if one VM is causing problems, you can deal with the side-effects quickly.

Problem 10: The Domino Effect
Finally, make sure you realize that a failure in one location may affect other spots in ways you wouldn't necessarily think of. Problems compound upon themselves, making it hard to determine what is really going on. You've got to train your team to find root causes, backtracing through problems to find the real culprit. You may even want to think about mimicking Netflix's Chaos Monkey strategy, which introduces abnormal errors in the network to push the boundaries of resiliency and recovery.

Proactively Solve Performance Issues
Now that you have an overview of the most common performance problems is easy to see why we need to test load performance at higher user levels beforehand. Check out this related article, which explains how to get your servers ready for heavy user load. Once users have adopted your site, take advantage of testing-in-production (TiP) procedures. Finally, use simulated user scripts, which navigate and perform buyer transactions to give you better data about where the site falls short.

More Stories By Tim Hinds

Tim Hinds is the Product Marketing Manager for NeoLoad at Neotys. He has a background in Agile software development, Scrum, Kanban, Continuous Integration, Continuous Delivery, and Continuous Testing practices.

Previously, Tim was Product Marketing Manager at AccuRev, a company acquired by Micro Focus, where he worked with software configuration management, issue tracking, Agile project management, continuous integration, workflow automation, and distributed version control systems.

@DevOpsSummit Stories
"DevOps is set to be one of the most profound disruptions to hit IT in decades," said Andi Mann. "It is a natural extension of cloud computing, and I have seen both firsthand and in independent research the fantastic results DevOps delivers. So I am excited to help the great team at @DevOpsSUMMIT and CloudEXPO tell the world how they can leverage this emerging disruptive trend."
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to the new world.
You want to start your DevOps journey but where do you begin? Do you say DevOps loudly 5 times while looking in the mirror and it suddenly appears? Do you hire someone? Do you upskill your existing team? Here are some tips to help support your DevOps transformation. Conor Delanbanque has been involved with building & scaling teams in the DevOps space globally. He is the Head of DevOps Practice at MThree Consulting, a global technology consultancy. Conor founded the Future of DevOps Thought Leaders Debate. He regularly supports and sponsors Meetup groups such as DevOpsNYC and DockerNYC.
DXWorldEXPO LLC announced today that ICC-USA, a computer systems integrator and server manufacturing company focused on developing products and product appliances, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City. ICC is a computer systems integrator and server manufacturing company focused on developing products and product appliances to meet a wide range of computational needs for many industries. Their solutions provide benefits across many environments, such as datacenter deployment, HPC, workstations, storage networks and standalone server installations. ICC has been in business for over 23 years and their phenomenal range of clients include multinational corporations, universities, and small businesses.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a member of the Society of Information Management (SIM) Atlanta Chapter. She received a Business and Economics degree with a minor in Computer Science from St. Andrews Presbyterian University (Laurinburg, North Carolina). She resides in metro-Atlanta (Georgia).