Tuesday, March 18, 2008

Lifting the limit on calls to the Google Chart API

We got a lot of feedback after releasing the Google Chart API in early December. By far the most questions were about the limit of 50,000 queries per user per day. Some of you who are webmasters of larger sites are afraid of overstepping this limit. We've heard your concerns, and have decided to drop that limit altogether.

However, should you expect to regularly cause more than 250,000 queries per day to the Google Chart API, we'd like you to let us know by mailing chart-api-notifications@google.com so that we can plan for the demand.

And with that said, from now on, if your site can't handle the Slashdot effect, it shouldn't be because of the Google Chart API. ;)

But why did we impose a query limit to start with? It was there to ensure that we could provide a reliable service for all legitimate users because we were able to lock out malicious users.

We work hard to provide reliable services, and even have a specific team of site reliability engineers (SRE) dedicated to keeping our services up and running (as well as fast). I cover the Chart API for SRE. A very important part of an SRE's work is capacity planning, because only a service with sufficient capacity can serve reliably and with low latency. For a new service, planning the capacity is naturally very hard, because there are a lot of unknown contributing variables. That's why we started with a quite conservative query limit. Now, that we've had the public API running for some time, we've collected enough experience to feel comfortable raising that limit without jeopardizing the service's reliability.

By the way, there's a lot more to what an SRE does. We also run, debug, optimize and troubleshoot very large scale distributed systems. If you're interested, come join Google SRE -- for instance the Zürich SRE team, where I work.


  1. Thank you very much!

  2. Thank you - it's good news for my small service - charts.hohli.com/

  3. Has the limitation on size of datasets for extended encoding been changed? I have a simple two-line graph that has one point per line per day, year to date. I use extended encoding to get the most from the url length. Yesterday (Nov12) all was well. Today the graph won't display, and I had to trim the data all the way back to Aug 27 to get it to display again. I don't get a 'Bad Request' or anything, just no image. Has something changed?