Performance

Kimbro Staken <[email protected]> Sun, 23 Nov 2003 00:53:39 -0700
Newsgroups gmane.comp.web.syncato.general
Message-ID <[email protected]>
Tonight I finally decided to sit down and look closely at the 
performance of Syncato and see what I could do to improve it. What I 
found was that DB XML wasn't using the indexes that were defined. This 
was making things quite slow when you had a large number of files, 
basically every query was doing a full sequential scan. It took some 
tweaking but I finally got a decent set of indexes working that 
dramatically improve performance. On my production site (ancient PII 
266Mhz) an un-cached page request went from 12-20 seconds down to 2-5 
seconds. This is very good as my site was performing horribly anytime 
it went outside of cache.

The next version of DB XML will be even better, probably shaving 
another 1.5 seconds off each request due to a better query optimizer.  
With an early alpha on my DP 1.25Ghz powermac requests take about .3 
seconds vs. .9 seconds with the current version.

The one change to the system that I did have to make was to change the 
root element on category definition entries. This was "category", now 
it is "category-def". The update.py script can be used to update an 
existing site.

Also it's important to make a backup of the data from the site before 
updating to this version. You can make a full backup by running a 
request like http://host/WK/blog/node(). The content can then be 
restored by using the importData.py script with the name of the backup 
and a query of "/results/node()" as parameters.

Kimbro Staken
Software, Consulting and Writing http://www.xmldatabases.org/
Apache Xindice native XML database http://xml.apache.org/xindice
XML:DB Initiative http://www.xmldb.org



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/