Third Party Developer Blog


A note about caching in public CREST

CCP FoxFour | 2014-10-02 00:00 | Comments

We deployed two updates to public CREST today aimed at increasing our caching performance. The end result is that you should start seeing more cache hits on public CREST. Along with that however you will also notice a new header being passed. This header has been in CREST for some time, but was just added to public CREST with the cache changes.

You should now start seeing X-Cache-Status returned with all requests which will tell you if you got a cache hit, miss, or expire. For the nerdy who want to know what's going on behind the scenes: Up until recently the public CREST NGINX config was very straight forward. Your request came in, we did some finagling, and then that same route did the proxy pass upstream. We recently split this up a bit and the proxy pass is in a sub-request now. To get the cache status into our logs the sub-request adds the cache status to the X-Cache-Status header before returning the response. The initial route then takes the header value and stores it in a variable that we use in the logging.

The second change that we made today was to up the max size for the NGINX cache from 1g to 16g.

Now that the developer site is available with a dev blog channel just for third party developers I hope we can include more information like this. If you notice any issues please let us know, but hopefully everything should be good.

CCP FoxFour