[dokuwiki] Re: Improving RSS performance

  • From: "Joe Lapp" <joe.lapp@xxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Fri, 16 Sep 2005 09:30:05 -0500 (CDT)

Possibly second to the rsort(), depending on the size of the change log, the 
biggest drag on RSS performance is reading all the instruction files and 
concatenating them into HTML.  The number of objects involved in both 
operations certainly reduces server capacity.

Perhaps one one way to keep a fast RSS feed, regardless of how often it's read, 
is to build the RSS entry description for a page at the time the page is saved. 
 We probably wouldn't want this description going into the change log, since 
it's too fat already, so we'd put it someplace else.  Options I can think of:

(1) Create a separate sliding-window change log for use by RSS.  This log would 
be entry limited.  The most efficient way to limit entries is to limit the byte 
size of the log, but this doesn't give the user satisfaction that he/she knows 
how many entries can be retrieved or how far back in time the feed can go.

(2) Dump each description to a file that is an md5 hash of the page ID.  If 
ever the feed needs a description for a file, it just pulls up the appropriate 
description by md5 hash.  We could limit the number of these files either by 
counting them or by expiring beyond a certain date.  If the feed is retrieved 
often enough, the file system may keep the blocks for these files in memory.

Of course, I could still pursue the one-log approach, but so far this seems to 
require frequent feed retrievals to keep feed retrieval fast.

~joe
--
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

Other related posts: