Loading...
Loading

Correcting Website Performance Issues

2010-11-24by Josh Ewin

In depth troubleshooting can alleviate issues leading to poor website performance.

Diagnosing and correcting website performance issues can literally be a full-time job for a developer or IT professional and, obviously, some amount of planning up-front can help alleviate bottlenecks and performance issues.  However, we don’t all have the luxury of the time and money required to do elaborate performance planning on the front end of a project.  There are also the many fortunate websites out there whose popularity exploded far beyond their wildest imagination, which causes the topic of “website performance” to leap from the back burner to front-and-center of the busy entrepreneur's mind.  There are a number of avenues to explore when discussing site performance so I will only touch on some primary topics.  

Most sites today are backed by some sort of relational database, typically MySQL, PostgreSQL, or Microsoft SQL Server and my experience has shown that the interplay of your web application and the database lies at the heart of most performance problems.  

These problems related specifically to database access can be broken into two categories:  

Excessive time and/or computing resources being eaten up by bad SQL queries and/or bad table designExcessive time and/or computing resources being eaten up by repetitive queries against “read-mostly” data that could easily be cached

The first is more of a development problem and has to do with either too much design (highly normalized table structure that results in many expensive joins) or not enough design (many extra queries being performed when single queries would work).  In terms of development time, if your problems are minor, this can be fixed fairly quickly.  If not, a major redesign may be required.  

The second issue relates to the use of caching read-only or read-mostly data.  Most sites are displaying data that is rarely updated (in terms of a ratio of reads to writes).  To continually pull repetitive data from the database places a load on the database server that eventually will overwhelm it, if proper data caching is not in place.  Many sites utilize the open source memcached distributed cache for this.  

Assuming your server(s) are handling the load well but you’d still like to squeeze more performance out of your site, two other avenues to explore are HTTP compression using gzip (which can be configured on popular web servers such as Apache or Microsoft IIS) and the utilization of a content delivery network, or CDN.  

news Buffer
Author

Josh Ewin

Josh Ewin

Web Hosting Madness

Josh Ewin is Managing Editor for Web Hosting Madness, a web hosting portal. Ewin lives in Maryland and has worked in the hosting industry since 1998.

View Josh Ewin`s profile for more
line

Leave a Comment