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/