the 10 most common web application performance problems
TRANSCRIPT
Most Common Web App Performance Problems
@neotys
10The
Load Testing & Performance Monitoring
for Web & Mobile Applications
Neotys Blog Neotys Twitter
Web application problemsare going to happen.
BestBuy, Black Friday 2014
The best way to address performance problems is to find and eliminate them before they affect users in the first place.
Use all the tools at your disposal–from
automated tools like profilers to best
programming practices like code reviews.
Problems often start with bad code, such as:
• Inefficient algorithms
• Memory leaks
• Application deadlocks
• Old versions of software
• Integrated legacy systems
Problem 1:
Poorly Written Code
An unoptimized database can destroy
a production application. Missing indexes
slow down the performance of SQL queries
which can drag down an entire site.
Use scripts and file statistics to
check for any inefficient queries.
Problem 2:
UnoptimizedDatabases
Data systems tend to degrade over time,
whether in a database, a cache, an object
store or a more sophisticated layered
storage solution.
Decide who is accountable for data
growth in your business. Do your
research and determine the
appropriate storage for your data
needs. Implement appropriate
technologies, monitoring and
maintenance procedures.
Problem 3:
Unmanaged Growth of Data
Anyone who has experienced major traffic
spikes after a marketing promotion or viral
video knows what can happen when you
aren’t properly prepared.
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 4:
Traffic Spikes
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.
Conduct regular and realistic load testing
with a product like NeoLoad to find any
infrastructural weaknesses at hand.
Problem 5:
Poor Load Distribution
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 applications and they just set
that way out of convenience.
Problem 6:
Default Configuration
DNS queries make up the majority of web
traffic. That’s why a DNS issue can cause
so much trouble. They prevent visitors from
accessing your site and result 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.
Problem 7:
DNS, Firewall and Network Connectivity
Who hasn’t experienced a stalled page
while waiting to load an ad from someone
else’s ad server?
Design your app to protect itself from
at least some of the effects of a
third-party service issue. Also, make
sure your company and the third-
party service provider are clear on
performance guarantees.
Problem 8:
Troublesome Third-Party Services
Sometimes the way 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.
Monitor all shared systems and
resources closely so that if one VM
is causing problems you can deal
with the side effects quickly.
Problem 9:
Shared Resources and Virtual Machines
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.
Train your team to find root causes
by backtracking 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.
Problem 10:
The Domino Effect
What can you do to proactively solve performance issues caused by these problems?
Load test regularly and monitor production performance continually.
Hear More Performance Testing Horror Stories in Tales From The ScriptAs the former manager of a load and performance team, Brad Stoner retells a number of haunting stories from his days in the field that carry insightful lessons learned about load and performance testing.
Watch this webinar and learn how to prevent these problems from coming back to haunt you!
Watch This Webinar