Re: assert(e->mem_status == NOT_IN_MEMORY) versus TCP_MEM_HIT.

From: Henrik Nordstrom <henrik_at_henriknordstrom.net>
Date: Mon, 28 Sep 2009 10:01:57 +0200

mån 2009-09-28 klockan 12:04 +1200 skrev Amos Jeffries:

> I'm hitting the case approximately once every 10-15 minutes on the CDN
> reverse proxies. More when bots run through this particular clients
> website. It's almost always on these small files (~10K) retrieved
> long-distance in reverse proxy requests. They arrive in two chunks
> 200-300ms apart. swapin race gets lost at some point between the two reads.

Sice is not very important here. It's just about swapin timing and
frequency of swapin requests. The longer disk reads take the higher
probability.

> Content-Length is available and a buffer can be allocated (or existing one
> extended) for memory storage immediately instead of a disk file opened,
> modulo the min/max caching settings.

THe open is not about memory, it's about being sure the known to be on
disk data can be read in when required, even if I/O happens to be
overloaded at that time to the level that swapin requests are rejected.

> All the other cases (too big for memory, no content-length etc) can go back
> to the old file open if need be.

Yes, and have to.

Regards
Henrik
Received on Mon Sep 28 2009 - 08:02:02 MDT

This archive was generated by hypermail 2.2.0 : Mon Sep 28 2009 - 12:00:05 MDT