public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Fabio Riccardi <fabio@chromium.com>
To: dean gaudet <dean-list-linux-kernel@arctic.org>
Cc: mingo@elte.hu, linux-kernel@vger.kernel.org,
	Alan Cox <alan@lxorguk.ukuu.org.uk>,
	Christopher Smith <x@xman.org>,
	Andrew Morton <andrewm@uow.edu.au>,
	"Timothy D. Witham" <wookie@osdlab.org>,
	David_J_Morse@Dell.com
Subject: Re: X15 alpha release: as fast as TUX but in user space
Date: Mon, 30 Apr 2001 12:36:24 -0700	[thread overview]
Message-ID: <3AEDBEB8.449D88C3@chromium.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0104292207530.14261-100000@twinlark.arctic.org>

Ok I fixed it, the header date timestamp is updated with every request.

Performance doesn't seem to have suffered significantly (less than 1%).

You can find the new release at:  http://www.chromium.com/X15-Alpha-2.tgz

BTW: Don't call me slime, I wasn't trying to cheat, I just didn't know that
the date stamp was required to be really up-to-date.

 - Fabio

dean gaudet wrote:

> On Sun, 29 Apr 2001, Fabio Riccardi wrote:
>
> > I can disable header caching and see what happens, I'll add an option
> > for this in the next X15 release.
>
> heh, well to be honest, i'd put the (permanent) caching of the Date header
> into the very slimy, benchmark-only trick category.  (right up there
> alongside running the HTTP and TCP stacks inside the NIC interrupt
> handler, which folks have done to get even better scores.)
>
> > Nevertheless I don't know how much this is interesting in real life,
> > since on the internet most static pages are cached on proxies. I agree
> > that the RFC asks for a date for the original response, but once the
> > response is cached what does this date mean?
>
> the Date is always the time the response was generated on the origin
> server.  (there are exceptions for clockless servers, but such servers
> have other limitations you wouldn't want -- notably they MUST NOT generate
> Last-Modified.)
>
> one example oddity you might experience with a non-increasing Date
> surrounds Last-Modified and Date, see section 13.3.3.  note that the rfc
> indicates that if Last-Modified is less than 60 seconds earlier than Date
> then Last-Modified is only a weak validator rather than a strong
> validator.  this would complicate range requests -- because weak
> validators can't be used with range requests.  if your server never
> updates the Date after the first time it serves an object then you'd
> potentially never get out of this 60 second window.
>
> (strong validators are guaranteed to change whenever the object changes...
> and Last-Modified isn't strong until some time has passed -- consider NFS
> mounted docroots, clock skew in the origin network, multiple file updates
> within a second, etc.)
>
> there are a bunch of other things that Date is used for, all of them are
> related to caching heuristics and rules.
>
> in theory you could claim that you're implementing a cache server rather
> than an origin server... i dunno what the SPEC committee will think when
> you try to submit results though :)
>
> so way back when sendfile() was being created i brought up the Date issue
> and pointed out that we needed more than a single "void *, size_t" to take
> care of headers.  eventually this discussion lead creation of TCP_CORK --
> so that a http server could use writev() to send a two element iov for the
> headers -- one element with everything that doesn't need to change, the
> next element with the Date.
>
> i also kind of expected the high performance servers to rebuild a Date:
> header every second for all of its threads to use.  (of course it's not
> that simple, you really want to keep a circular list of N dates... and
> just assume that after N seconds no thread could still be accessing an old
> Date.)
>
> is this too slow for some reason?  (does it play well with zero-copy?)
>
> -dean
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/


  parent reply	other threads:[~2001-04-30 19:32 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-28  0:18 X15 alpha release: as fast as TUX but in user space Fabio Riccardi
2001-04-28  0:41 ` Aaron Lehmann
2001-04-28  0:49 ` David S. Miller
2001-04-28  1:11   ` Fabio Riccardi
2001-04-28  8:42 ` Ingo Molnar
2001-04-28 13:15   ` Ville Herva
2001-04-28 13:21     ` Ingo Molnar
2001-04-28 13:24     ` Ingo Molnar
2001-04-28 13:30       ` Ville Herva
2001-04-28 13:55         ` Andi Kleen
2001-04-29 21:25   ` Fabio Riccardi
2001-04-30  5:43     ` dean gaudet
2001-04-30  6:39       ` David S. Miller
2001-04-30 19:36       ` Fabio Riccardi [this message]
2001-04-30 21:47         ` dean gaudet
2001-04-30 21:52           ` David S. Miller
2001-05-01  7:31         ` Ingo Molnar
2001-05-01  7:25     ` Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2001-04-28  7:32 Ingo Molnar
2001-04-29 21:19 ` Fabio Riccardi
2001-05-01  8:53   ` Ingo Molnar
2001-05-01 17:10     ` Fabio Riccardi
2001-05-01 17:12       ` Ingo Molnar
2001-05-04  1:58         ` Fabio Riccardi
2001-05-04  8:49           ` Ingo Molnar
2001-05-04 18:10             ` Fabio Riccardi
2001-05-04 18:38               ` Davide Libenzi
2001-05-09 22:42             ` Fabio Riccardi
2001-05-02  8:50   ` Ingo Molnar
2001-05-02 14:12     ` Zach Brown
2001-05-03  2:41       ` Fabio Riccardi
2001-05-02 23:19   ` Lincoln Dale

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3AEDBEB8.449D88C3@chromium.com \
    --to=fabio@chromium.com \
    --cc=David_J_Morse@Dell.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andrewm@uow.edu.au \
    --cc=dean-list-linux-kernel@arctic.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=wookie@osdlab.org \
    --cc=x@xman.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox