Page MenuHomePhabricator

Performance issues with 1.3.6 and 1.3.7
Closed, InvalidPublic

Description

Author: felix.schwarz

Description:
Since upgrading from 1.3.5 I experience severe performance issues:
One part of the problem are multiple requests within the page load.

For example I'm seeing request as this 21 times:
213.20.141.149 - - [31/Oct/2004:19:19:35 +0100] "GET
/?title=Benutzer:Felix/monobook.js&action=raw&ctype=text%2Fjavascript&smaxage=18000&maxage=18000&gen=&oldid=0
HTTP/1.1" 302 26 "http://wiki.felix-schwarz.info/Hauptseite" "Mozilla/5.0
(Windows; U; Windows NT 5.0; de-AT; rv:1.7) Gecko/20040616"

Another admin sees this problem on his server, too.


Version: 1.3.x
Severity: critical
OS: Linux
Platform: PC
URL: http://wiki.felix-schwarz.info

Details

Reference
bz812
TitleReferenceAuthorSource BranchDest Branch
Port to Python 3 and other improvementslegoktm/rawdog!1legoktmpy3main
Customize query in GitLab

Revisions and Commits

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 7:03 PM
bzimport set Reference to bz812.
bzimport added a subscriber: Unknown Object (MLST).

Well, this link shows an example of your problem:

<script src="?title=-&amp;action=raw&amp;gen=js" type="text/
javascript"></script>

Have you set $wgScript to "" manually? This is fairly certain to fail in
horrible ways. Try setting it to an actual location.

If that's not what you did, can you please list what you've done?

felix.schwarz wrote:

yes, actually I set $wgScript to "" because I use a completely separate
subdomain for my mediawiki installation so I thought that $wgScript="" would be
the correct setting. What is configuration for that?

The same setting is okay with 1.3.5. Why was that changed?

If this setting is so horribly wrong: Why isn't there a warning in
LocalSettings.php?

thanks for your help.

I think what you want to do is to set $wgArticlePath, which controls the URL path used for
plain user-visible page views, like this:

$wgArticlePath = "/$1";

You should never set $wgScript to something that is not, in fact, the URL path to the script. If
it doesn't start with "/" and end in "index.php", you are probably setting it wrong unless you
have a very clear reason otherwise.

Setting it to "" is guaranteed to fail because this produces a relative path to whatever the
originating page was, and will therefore never produce a correct, canonical path -- thus
sending you into an infinite loop as the wiki tries to redirect to the canonical URL.

1.3.7 is more aggressive about uses of the 'raw' page loading mode because it's possible to
abuse it in a way that exposes a security hole in Internet Explorer for Windows, which could
be used by a malicious person to attack your users, possibly compromising their wiki
accounts. The workaround is to ensure that raw accesses are done using the canonical script
URL -- which is impossible when you have incorrectly set $wgScript in this way. Raw loading
is used for customizable global and per-user style sheets and JavaScript, hence the failure
when it's impossible to use this mode.

Among this and other problems it will also produce many staggeringly incorrect links if you
ever visit a page title with a slash in the name (as the browser will try to resolve it as a
relative path as though there were a subdirectory). This would have failed equally in 1.3.5,
though you might not have happened to come across it.

felix.schwarz wrote:

okay, with the following settings performance goes back to normal:

$wgScriptPath = "/";
$wgArticlePath = $wgScript."$1";
$wgStylePath = "/stylesheets";

Thanks for your help.

epriestley changed the task status from Invalid to Resolved by committing Unknown Object (Diffusion Commit).Mar 4 2015, 8:21 AM
epriestley added a commit: Unknown Object (Diffusion Commit).
Aklapper changed the task status from Resolved to Invalid.Mar 4 2015, 11:41 AM
Aklapper claimed this task.