Nginx port of mod_pagespeed
github.com
github.com
Apart from the whole "making it work part". Is there something in particular that is difficult ?
If someone has good understanding of nginx internals, then any input, guidance, etc, would be awesome, as it would short circuit a lot of that extra work. We have a design doc in progress, I'll work on making it public and will share it in the project readme. In the meantime, if you have any suggestions, open an issue on the repo and let us know!
We have a good understanding of the nginx internals - the Tengine web server maintained by us is an example (http://tengine.taobao.org/ http://github.com/taobao/tengine) We also want to ask how to contribute and look forward to your design doc :)
I want my scripts cached a certain way for a certain thing and my deployment systems do take care of all that. Given that situation - the only thing pagespeed was adding for me was serving pages through google's CDN. However, the upstream connection from google to my server was pretty poor and for most cases it ended up ADDING latency! :(
So for now, I'll give automated 'page-speed' tools a pass and simply try and do each step that Y!Slow suggests manually.
I guess the point is, is your site for your personal use, or the world at large?
So then what happens is that Google does a fetch from your server, and optimizes the response using mod_pagespeed techniques (including throwing your static assets onto their CDN and other funky stuff..).
Basically, all your CSS/JS/page-content/images get fetched through google's CDNs but this functionality relies on one critical part of the framework functioning really well - Google's connection to your origin server.
This is where it's at: https://developers.google.com/speed/pagespeed/service
Also, yeah my site is for the world at large and that's why this is an issue. I can definitely see how it's useful for personal websites and small projects.
CDN's are popular for static content, but there are a number of very good reasons to proxy dynamic content through your CDN as well. The most obvious advantage is that you can terminate the TCP connection much closer to the user, and then can leverage the optimized backhaul network to fetch from origin. This alone can be a huge win, especially if you have SSL in the mix, which requires 2-3 RTT's before it can even send the request.