[Mediawiki-l] Extensions and threading - how to bring your wiki to a halt

Daniel Friesen dan_the_man at telus.net
Tue Sep 2 14:59:38 UTC 2008


FWIW: http://ca3.php.net/manual/en/function.session-write-close.php
"Session data is usually stored after your script terminated without the 
need to call *session_write_close()*, but as session data is *locked* to 
prevent concurrent writes *only one script may operate on a session* at 
any time. When using framesets together with sessions you will 
experience the frames loading *one by one due to this locking*. You can 
reduce the time needed to load all the frames by ending the session as 
soon as all changes to session variables are done."

~Daniel Friesen(Dantman, Nadir-Seen-Fire) of:
-The Nadir-Point Group (http://nadir-point.com)
--It's Wiki-Tools subgroup (http://wiki-tools.com)
--The ElectronicMe project (http://electronic-me.org)
--Games-G.P.S. (http://ggps.org)
-And Wikia ACG on Wikia.com (http://wikia.com/wiki/Wikia_ACG)
--Animepedia (http://anime.wikia.com)
--Narutopedia (http://naruto.wikia.com)

Daniel Barrett wrote:
>> Daniel Barrett wrote:
>>     
>>> It seems that one slow extension can bring MediaWiki to a halt. For
>>> example, if you define a <wait> tag that simply sleeps for 20
>>> seconds, and you hit a page that contains it, no other MediaWiki
>>> pages can be served during those 20 seconds.
>>>       
>
> Brion Vibber writes:
>   
>> I did a quick test with this on my local wiki; it looks like it may be
>> session-related.
>>
>> If I preview a page with <wait>20</wait>, then go load something up in
>> another tab in the same browser, it sits there waiting on both tabs.
>> (Confirmed with Firefox 3 and Safari 3 on Mac OS X.)
>>
>> If on the other hand I go load things up in another browser, there's no
>> delay there.
>>     
>
> Interesting.
> I tried this on our site, and using multiple browsers/sessions made no difference.
> Using Firefox 2 from host1 (hitting the <wait> page) and lynx from host2 (hitting any
> other page), both browsers waited the full 20 seconds.
>
>   
>> And indeed, it appears that PHP session files are by default locked to
>> prevent multiple simultaneous accesses.
>>     
>
> Is this a PHP issue or a MediaWiki issue, and is there a workaround?
>
> Should this be filed as a "priority 1" bug?  Many of our users
> are getting timeouts due to this problem, ever since we upgraded to 1.13
> from 1.12.
>
> Thanks,
> DanB
>   


More information about the MediaWiki-l mailing list