DoneCal homepage now able to do 10,000 requests/second

13 February 2011   0 comments   DoneCal

Mind That Age!

This blog post is 7 years old! Most likely, its content is outdated. Especially if it's technical.

I've done some work refactoring the homepage of DoneCal so that it does no logic other than just serving HTML. What it used to do was some basic security checks and stuff so that it says "Hi Peter" and a log out link. Now all of that has been moved to one simple piece of AJAX call.

BEFORE:

# ab -n 1000 -c 10 http://donecal.com/
...
Requests per second:    353.65 [#/sec] (mean)

AFTER:

# ab -n 1000 -c 10 http://donecal.com/
...
Requests per second:    9796.78 [#/sec] (mean)

# ab -n 1000 -c 10 http://donecal.com/auth/logged_in.json
...
Requests per second:    3756.25 [#/sec] (mean)

The reason why loading the index.html can be so fast is because I'm using Nginx directly. In my Nginx config I have to not use the static file if the request isn't a GET request or if it has a query string. I'll need to remove that stuff too and then it means that I can push the index.html file out to my AWS CloudFront CDN using a CNAME.

DoneCal is my first web application that is this Javascript heavy. It raises the bar in terms of optimal HTTP optimization to get the best user experience possible. I love learning this new way of working.

Comments

Thank you for posting a comment

Your email will never ever be published


Related posts

Previous:
EditDistanceMatcher - NodeJS script for doing edit distance 1 matching 05 February 2011
Next:
How I profile my Nginx + proxy pass server 16 February 2011
Related by Keyword:
Be very careful with your add_header in Nginx! You might make your site insecure 11 February 2018
Fastest way to match a filename's extension in Python 31 August 2017
Don't forget your sets in Python! 10 March 2017
How to deploy a create-react-app 04 November 2016
Optimization of QuerySet.get() with or without select_related 03 November 2016
Related by Text:
HTML Tree on Hacker News 18 May 2014
YouTube - Nigella's XXXmas 19 December 2008
How and why to use django-mongokit (aka. Django to MongoDB) 08 March 2010
How to track Google Analytics pageviews on non-web requests (with Python) 03 May 2016
hashin 0.7.0 and multiple packages 30 August 2016