[pmwiki-users] PmWiki scalebility questions (newbie)

Patrick R. Michaud pmichaud at pobox.com
Thu Oct 19 09:25:42 CDT 2006

On Thu, Oct 19, 2006 at 03:22:21PM +0200, Tom Lederer wrote:
> Thanks for the enlightenment. Assuming that indeed a recipe causes  
> the locks: can anybody tell me how to look for the right terms to  
> find the recipes that use the flock?
> I.e. is it a special php function that i can grep for?

Try looking for either "Lock("  (the PmWiki function) or
"flock("  (the PHP function).

Also, are you able to confirm that it's the saving of pages
that is causing the delays in displaying the page?  I.e., 
that no pages can be read or displayed while a page save
is taking place?


> >On Thu, Oct 19, 2006 at 02:16:00PM +0200, Tom Lederer wrote:
> >>i kinda re-open this thread. Having a relatively large wiki (wiki.d:
> >>33 MB in 5000 pages, Version 2.1.11 (Doh!)) running and facing some
> >>performance issues lately, we think we discovered a problem with the
> >>flock file. So i would like to know if we are correct and how to
> >>improve.
> >>
> >>From what we learned the situation seems to be like this:
> >>
> >>Every page access process sets a read lock (with flock). Now if a
> >>page should be changed, the writing process needs to wait for all old
> >>reading processes to end, and does not allow any new reading
> >>processes to set a lock.
> >
> >While PmWiki once worked this way a very long time ago (April 2005,
> >prior to 2.0.0), it doesn't any longer.  Simply reading or
> >accessing a page doesn't require a lock -- locks are set only
> >when writing a page.
> >
> >So, if a page should be changed, the writing process only needs to
> >wait for any other writing processes to end, and none of the
> >read processes are blocked.
> >
> >(Of course, a recipe might be misusing the lock file and setting
> >a read lock on every page access, but the PmWiki core doesn't
> >do this.)
> >
> >>Is it possible that this results in page request times of several
> >>seconds (1-30)?
> >
> >Not likely.  There must be something else that is causing the delay.
> >
> >>Can performance be improved by introducing per-group lock files?
> >
> >Per-group lock files don't really help here -- whenever a page
> >is saved, we're actually writing pages across several groups
> >(e.g. Site.AllRecentChanges, .pageindex, .notifylist), and this
> >will only increase once we add some of the commenting and
> >blogging features.
> >
> >Pm
> >

More information about the pmwiki-users mailing list