[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: wiki madness

Chuck Anderson wrote:

Won't there be performance problems with a TurboGears-based wiki? I thought MirrorManager was having issues with TG performance and had to enable form-data caching to get acceptable performance at the cost of possibly stale data. I don't know the details behind it, but that was the reason I was given for why when you edit forms in MM it sometimes returns old pre-edit field values.

We might have performance issues but I'm confident they'll be different performance issues than we're currently experiencing ;-)

The issues we're running into with moin right now are largely caused by Moin's philosophy of having to run off the filesystem, not a db. This means 1) we're unable to spread the load among multiple different app servers so we are constrained to a single server's memory and CPU resources, 2) it makes multiple views of data much harder than it needs to (in the subscription list case, Moin has to walk the filesystem, finding each user's prefs file, parsing it for a watchlist, if the watchlist exists, checking if the page and page categories are in that watchlist, and finally being able to send the notification. With a db, we'd have a separate table for the watchlist and have indexes for the userid and the pagename. Searching for a page wouldn't have to open a file for every single one of our users, instead it would access a single table and pull out the users which were in the watchlist.)

With MirrorManager I know we've had memory and db query speed issues trying to serve the mirrorlist directly from the TG app. I wasn't aware that mirrormanager was having trouble keeping up with it's management functionality, Matt is that still true or is caching a leftover from when the two functions were combined? I don't think the wiki is as busy as mirrormanager's mirrorlist serving but it would definitely be busier than any of our other apps. We'd have to take a close look at this to see where we're bottlenecking in currently deployed code before deciding if we want to migrate.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]