Re: kernel.org mirroring (Re: [GIT PULL] MMC update)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jakub Narebski
Date: Saturday, December 9, 2006 - 6:37 am

Jeff Garzik wrote:

 
Sending Last-Modified: should be easy; sending ETag needs some consensus
on the contents: mainly about validation. Responding to If-Modified-Since:
and If-None-Match: should cut at least _some_ of the page generating time.
If ETag can be calculated on URL alone, then we can cut If-None-Match:
just at beginning of script.
 

Well, yes, ETag is HTTP/1.1 header. 


As I said, I'm not talking (at least now) about saving generated HTML
output. This I think is better solved in caching engine like Squid can
be. Although even here some git specific can be of help: we can invalidate
cache on push, and we know that some results doesn't ever change (well,
with exception of changing output of gitweb).


I'm not sure if it is worth implementing in gitweb, or is it better left
to caching engine. With the projects list page and summary page there is
additional problem with relative dates, although this can be solved using
Jonas Fonseca idea of using absolute dates in the page and using ECMAScript
(JavaScript) to convert them to relative: on load, and perhaps on timer ;-)


What can be _easily_ done:
 * Use post 1.4.4 gitweb, which uses git-for-each-ref to generate summary
   page; this leads to around 3 times faster summary page.
 * Perhaps using projects list file (which can be now generated by gitweb)
   instead of scanning directories and stat()-ing for owner would help
   with time to generate projects lis page

What can be quite easy incorporated into gitweb:
 * For immutable pages set Expires: or Cache-Control: max-age (or both)
   to infinity
 * Calculate hash+action based ETag at least for those actions where it is
   easy, and respond with 304 Not Modified as soon as it can.
   This might require some code reorganization to not begin writing output
   before calculating ETag and ETag comparison (If-Match, If-None-Match).
 * Generate Last-Modified: for those views where it can be calculated,
   and respond with 304 Not Modified as soon as it can.

What can be easily done using caching engine:
 * Select top 10 of common queries, and cache them, invalidating cache on push
   (depending on query: for example invalidate project list on push to any
   project, invalidate RSS/Atom feed and summary pages only on push to specific
   project) - can be done with git hooks.
-- 
Jakub Narebski
Poland
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Thu Dec 7, 12:05 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Thu Dec 7, 12:16 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Olivier Galibert, (Thu Dec 7, 12:30 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Thu Dec 7, 12:30 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Shawn Pearce, (Thu Dec 7, 12:39 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Thu Dec 7, 12:57 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Thu Dec 7, 12:58 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Thu Dec 7, 12:58 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Junio C Hamano, (Thu Dec 7, 1:05 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Thu Dec 7, 1:09 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Junio C Hamano, (Thu Dec 7, 3:11 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Michael K. Edwards, (Thu Dec 7, 4:33 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Olivier Galibert, (Thu Dec 7, 4:50 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Thu Dec 7, 4:56 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Fri Dec 8, 2:43 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Rogan Dawes, (Fri Dec 8, 5:57 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Fri Dec 8, 6:38 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Rogan Dawes, (Fri Dec 8, 7:31 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jonas Fonseca, (Fri Dec 8, 8:38 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 9:16 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Fri Dec 8, 9:35 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 9:42 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Fri Dec 8, 9:54 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 10:04 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Fri Dec 8, 10:40 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Lars Hjemli, (Fri Dec 8, 12:49 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 12:51 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Lars Hjemli, (Fri Dec 8, 12:59 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 1:02 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Fri Dec 8, 4:27 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Michael K. Edwards, (Fri Dec 8, 4:46 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 4:49 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Michael K. Edwards, (Fri Dec 8, 5:18 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 5:23 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Fri Dec 8, 5:49 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 5:51 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Fri Dec 8, 6:28 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Fri Dec 8, 6:56 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 7:03 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Fri Dec 8, 7:52 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Michael K. Edwards, (Fri Dec 8, 9:36 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Fri Dec 8, 10:09 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Fri Dec 8, 10:34 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Steven Grimm, (Sat Dec 9, 12:56 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sat Dec 9, 2:27 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sat Dec 9, 4:51 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sat Dec 9, 5:42 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sat Dec 9, 6:37 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sat Dec 9, 7:43 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Sat Dec 9, 9:26 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sat Dec 9, 10:02 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sat Dec 9, 10:27 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Sat Dec 9, 11:04 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Sat Dec 9, 11:30 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Sat Dec 9, 8:55 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Sat Dec 9, 9:07 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Sun Dec 10, 12:05 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sun Dec 10, 3:09 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sun Dec 10, 5:41 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sun Dec 10, 6:02 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sun Dec 10, 6:45 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sun Dec 10, 12:11 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Sun Dec 10, 12:50 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sun Dec 10, 1:27 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Linus Torvalds, (Sun Dec 10, 1:30 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), H. Peter Anvin, (Sun Dec 10, 2:01 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Sun Dec 10, 3:01 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sun Dec 10, 3:05 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sun Dec 10, 3:08 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jeff Garzik, (Sun Dec 10, 3:14 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Sun Dec 10, 3:59 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Sun Dec 10, 7:16 pm)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Mon Dec 11, 1:59 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Martin Langhoff, (Mon Dec 11, 3:18 am)
Re: kernel.org mirroring (Re: [GIT PULL] MMC update), Jakub Narebski, (Tue Dec 12, 2:19 pm)