All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.