Andre Bonhote wrote:
Coming back to the issue I have: I'd like to use
the RSS feed feature,
but it takes way too long to load. In fact, it doesn't load at all. In
the logs, I see this line:
PHP Fatal error: Maximum execution time of 30 seconds exceeded in
/data/www/wiki.ch.eu.colt/htdocs/includes/DifferenceEngine.php on line
1870
Diffs are pretty slow for large changes, unfortunately. There's a couple
things you can do here, in order from easiest to hardest:
1) Reduce $wgFeedDiffCutoff from its default of 32k; pages shorter than
this won't be diffed when building RC feeds. 32k usually shouldn't be a
problem, though... worst case, push it down to 0 and all pages will just
have links to the diff pages instead of inline diffs in the feed.
2) Configure a more persistent object cache -- eg memcached or enabling
the eAccelerator or APC backing. Diff results will be cached for a time,
which means fewer may need to be done anew in any given feed request.
Memcached is pretty easy when you're running your own server and helps
zip things up nicely.
3) Install our wikidiff2 PHP extension, which reimplements the MediaWiki
diff tool in *much* faster C++.
http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/wikidiff2/
This makes a *huge* difference to diff speed, but is sometimes a pain to
compile and install right.
-- brion