The cap is 10K visits/day.
5,399 karma · joined April 2, 2007
[ my public key: https://keybase.io/igrigorik; my proof: https://keybase.io/igrigorik/sigs/eMcFb-lAFqkBGZKfdzJcQrC5a2dTBj_8cTAQqsXUhaE ]
The cap is 10K visits/day.
Most users who don't run their own servers also don't know a thing about image formats - so the point may be moot. :-)
In fact, this is why this problem should be automated. Most blogs are serving uncompressed images, which are resized on the client - worst of all cases.
I honestly didn't realize how much traction it picked up over the past 6 months.. It was a (pleasant) surprise to login into my GAE console and realize that it was serving, on peak days, over 1M impressions.
Interestingly enough, the "exceeded quota" was not for CPU resources! Instead, it was all egress bandwidth. On busy days, it would reach the free 1GB egress limit sometime between 6-12PM, and hence the error. I've upgraded the app, and it should be good for terabytes a day. ;-)
P.S. I've also pushed an update to enable more aggressive HTTP caching on the assets.
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.
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!
httparchive.org - captures web trends http://www.softwareishard.com/blog/har-12-spec/ - HAR file format
As you found in the code above.. the idea is simply to complete the TCP handshake and keep the connection idle until the request is ready to be dispatched. Doing so allows Chrome to shave off one RTT (TCP handshake) of latency.
(unfortunately we cannot see bugs opened by others)
The Google DNS team built the tool above, and it allows you to test your current setup against a number of DNS vendors + allows you to share the data, etc.
In theory, SSE/WebSockets should be able to fill in that gap (based on his described use case).
That said, there is a lot of code we do leverage, such as the network layer, the sync and bookmarks infrastructure, omnibox, metrics and crash reporting, and a growing portion of content."
https://groups.google.com/a/chromium.org/forum/?fromgroups#!...
https://plus.google.com/114552443805676710515/posts/GTWYbYWP...
BigQuery allows you to explore the data without the pain of setting up your star schemas upfront. Think of it this way: you've got XXX Tb of log data, and you have a new question you want to ask it. At this point, you're heading back to Map-Reduce, or Pig/Hive, etc. BigQuery is based on Google's Dremel (check the paper, great read), and has all the operational + performance learnings from wide deployment at Google. Type in your "SQL like" query and BQ takes care of all the rest.. within an order of seconds.
tl;dr: you're comparing apples and oranges.
It's similar to saying "terse code is better code". Unfortunately terse, also often leads to "clever". And clever code, as we all know (I hope), is a liability. I'll take verbose and well documented code (speaking of which, you need to strip comments if you want a fair playing field), over "well compressed" code.
Having said that, the less unnecessary ceremony in the language the better. The trick is finding that balance.
You can think of domain sharding as a workaround for the fact that HTTP does not allow true multiplexing. With SPDY, we can avoid that complexity and reuse the same connection.
Seems like there is a bit of false advertising going on here.
Silk is an entirely different setup. Silk (a) manually sets their SPDY gateway as a browser proxy, which is a system level setting, and (b) silk does not tunnel HTTPS requests. CloudFlare obviously doesn't have control over my browsers proxy settings, so if the page I'm loading is abc.com/page, and that page has a request to twitter.com/widget.js, then the browser should open a connection directly to twitter.com to fetch that resource.
P.S. SPDY does allow tunneling HTTPS, but once again, that requires a system level proxy setup.