You are hereBlogs / alif's blog / Scaling Application - Ultimate Fishing Town

Scaling Application - Ultimate Fishing Town


By alif - Posted on 08 October 2010

Its been a while since I last wrote a blog, so I decided to write something random.

Recently I was involved in an interesting Application for World Fishing Network. The Application started off as a regular Contest called Ultimate Fishing Town, asking users to upload their photos or videos or written entries.



Among several other features, the Application allowed Visitors to:

  • Vote for a town, and the highest voted town would get picked
  • Generate very customized banners (JPG or PDF) of towns, all generated on the fly.
  • Google Maps was implemented displaying all the towns, and each node/pin would display more info.


Issues on the Application due to Traffic

As time progressed, the Traffic grew significantly (more than anything we could have anticipated). At one point, the site became very very slow (we received millions of hits) and were having numerous issues. Eventually, the site was taken down for certain hours and to have it optimized.


Optimizing the Back-end and Front-end using the best practices

My challenge was to scale this Application to ensure it can receive millions of hits in the coming days of the contest. So, I had to optimize the Back-end and Front-end of the Application

Front-end Optimization: At first, I sat down optimizing the Front-end. I followed the Yahoo's Exceptional Performance Team's guidelines to improve the Front-end significantly. In the end, my YSlow Rating was improved from E(50) to ~B(80). And, if it wasn't for the bloated sponsor Ads in JS, the YSlow Rating could easily have been improved much more.

Back-end Optimization: I sat down optimizing the Back-end Queries. I did the following steps:

  • Optimized Queries across the Application.
  • Implemented SQL Caching Technique. Things like Un-modified Content Pages were cached to Flat Page.


Final Deployment

Finally, with all those implemented on the site and after re-developing the voting mechanism for a better User Experience, we launched the Application again.

Thankfully, we haven't had any issues with the site after that, and the contest overall ended up being a success. Overall, it was a different experience for me. As a project, this was a small project, but the challenge for me was to make the application Scalable.


Read More on Ultimate Fishing Town:

It's Official, Port Alberni is the Ultimate Fishing Town

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.