Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Wikipedia: Mediawiki

Re: Extensions and threading - how to bring your wiki to a halt

 

 

Wikipedia mediawiki RSS feed   Index | Next | Previous | View Threaded


brion at wikimedia

Aug 25, 2008, 10:57 AM

Post #1 of 2 (174 views)
Permalink
Re: Extensions and threading - how to bring your wiki to a halt

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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.
>
> Other PHP pages on the same Apache server, however, work just fine
> during those 20 seconds, so I'd guess this is not an Apache or PHP
> configuration issue. Only MediaWiki pages are affected.
>
> Although the <wait> tag is artificial, the situation is realistic.
> We have a parser tag that hits an external database, and when the
> connection is slow (for even ONE wiki page), no other wiki pages can
> be served.
>
> This seems dangerous. What's happening, and what's the workaround?
> This is in 1.13.0. (And maybe it's my imagination, but the problem
> seemed less in 1.12.0.)

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.

If I disable cookies (thus removing session affinity), then a second tab
in the same browser has no slowdown.


And indeed, it appears that PHP session files are by default locked to
prevent multiple simultaneous accesses.

- -- brion
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkiy8osACgkQwRnhpk1wk448JQCeI07OVnBStiudUazZUmAFnZdZ
rdsAnjXxwViQ8lMNV+TezYd9fMVaUcJU
=/lwN
-----END PGP SIGNATURE-----

_______________________________________________
MediaWiki-l mailing list
MediaWiki-l[at]lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l


danb at VistaPrint

Sep 2, 2008, 7:21 AM

Post #2 of 2 (138 views)
Permalink
Re: Extensions and threading - how to bring your wiki to a halt [In reply to]

>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

_______________________________________________
MediaWiki-l mailing list
MediaWiki-l[at]lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

Wikipedia mediawiki RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.