URL: http://m.fwckungfu.com

My first YSlow Grade A (100)! Just put in the remaining necessary cache headers on my kungfu club mobile site and I ran a YSlow! test on it and it got a 100! I've never had that before.

Admittedly, this is like cheating since the site is for mobile use it's kept very very simple and has no external dependencies so no need for a CDN. Getting a Grade A on YSlow! is very hard if the site needs to really blink. This one is built dedicated for small mobile phone screens on slow connections. I think now the bottleneck isn't in the rendering but in the connection latency for the remote database.

It also got a 4.9 (max 5.0) on ready.mobi which is the highest I've ever achieved there.

This site was developed in Django, fronted by Nginx with a remote MySQL connection to a server far away. Because of that connection I really had to get the caching right to avoid excessive SQL calls. The Debug Toolbar was instrumental to make that happen. I also used this snippet to allow me to use inline CSS and have it whitespace optimized.

Django's templates are really simplistic. I couldn't work out a way to specify cache unique keys depending on parameters so I had to do all the caching in the views.

Comments

Post your own comment
Jason Lee

now is 98%,ha ha

Peter Bengtsson

Very funny :)
It's still 100% thank you very much

Nick

if you install memcached and turn on Django cache with memcached you'll get fastest site ever!

Peter Bengtsson

I will experiment with that once time allows. A problem is that only a small number of URLs can be memcached because cookies are set and read.

steffen

lol, a yslow grade for a site with just text links.

Peter Bengtsson

I know. It's a bit silly. Goes to show how hard it is to "impress" YSlow

Your email will never ever be published.

Previous:
DianeDancesToHell.jpg December 16, 2008
Next:
Towel dog December 17, 2008
Related by category:
How to avoid a count query in Django if you can February 14, 2024 Django
How to have default/initial values in a Django form that is bound and rendered January 10, 2020 Django
My site's now NextJS - And I (almost) regret it already December 17, 2021 Django
How to sort case insensitively with empty strings last in Django April 3, 2022 Django
Related by keyword:
Be very careful with your add_header in Nginx! You might make your site insecure February 11, 2018 Linux, Web development, Nginx
ssl_session_cache in Nginx and the ab benchmark December 31, 2010 Linux, DoneCal
How I simulate a CDN with Nginx May 15, 2019 Python, Nginx
fcgi vs. gunicorn vs. uWSGI April 9, 2010 Python, Linux, Django