Hi folks- I have frequently heard the complaint that ATS does not do read while write -- that, as a reverse proxy, while an object is not yet in cache, it forwards all connections to the origin until a version exists in the cache. The complaint is of a thundering herd -- a new popular object becomes available, and the origin gets immediately flooded with requests. Part of this is likely because there are 2 relevant configs (if not more) that need to be set in tandem for it to work: proxy.config.cache.enable_read_while_writer (which the documentation says is set to off by default), and proxy.config.http.background_fill_completed_threshold, which is set to 50% (eg, 50% of the object needs to be downloaded before it can be used to serve other requests.
Should we consider both turning on read while write on by default, and reducing the background_fill_completed_threshold down to a smaller number (5%? 1%)? What are the upsides of the current defaults and downsides of changing them? miles