Last modified: 2012-11-27 09:08:52 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T43607, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 41607 - MediaWiki core tests are slower since Precise upgrade
MediaWiki core tests are slower since Precise upgrade
Status: RESOLVED FIXED
Product: Wikimedia
Classification: Unclassified
Continuous integration (Other open bugs)
unspecified
All All
: High major (vote)
: ---
Assigned To: Nobody - You can work on this!
: performance
: 41657 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-31 22:25 UTC by Antoine "hashar" Musso (WMF)
Modified: 2012-11-27 09:08 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
Ganglia graphic showing a raise of CPU waiting I/O after Precise upgrade (20.53 KB, image/png)
2012-10-31 22:34 UTC, Antoine "hashar" Musso (WMF)
Details

Description Antoine "hashar" Musso (WMF) 2012-10-31 22:25:33 UTC
We have upgraded gallium to Ubuntu Precise (bug 41053). The following week-end I noticed some jobs were failing because of PHP time out or just being slow. On this wednesday we had ton of jobs pilling up in the build queue which rarely happened.

From a quick script:

2012-10-25_14-42-58 took 131.598 s.
2012-10-25_14-47-54 took 137.581 s.
2012-10-25_15-31-04 took 139.274 s.
2012-10-25_15-34-04 took 151.464 s.
## Precise upgrade there.
2012-10-25_17-35-08 took 253.544 s.
2012-10-25_17-39-22 took 1.444 s.
2012-10-25_17-39-23 took 1 s.
2012-10-25_17-39-24 took 4.674 s.
2012-10-25_17-39-29 took 1.304 s.
2012-10-25_17-47-13 took 229.234 s.
2012-10-25_17-51-02 took 239.811 s.
2012-10-25_17-55-02 took 225.362 s.
2012-10-25_17-58-48 took 242.351 s.
Comment 1 Antoine "hashar" Musso (WMF) 2012-10-31 22:27:47 UTC
Output is from the tools/jdurationreport.php script in integration/jenkins.git

https://gerrit.wikimedia.org/r/#/c/31139/
Comment 2 Antoine "hashar" Musso (WMF) 2012-10-31 22:34:02 UTC
Created attachment 11273 [details]
Ganglia graphic showing a raise of CPU waiting I/O after Precise upgrade
Comment 3 Antoine "hashar" Musso (WMF) 2012-10-31 22:42:55 UTC
Looking at the PHPUnit groups:

Parser tests went from 68s to 88s
Database less tests seems to be constant from 13,8 to 14,1
Dumps from 29s to 63s

Parser and Dumps tests do a lot of I/O.
Comment 4 Antoine "hashar" Musso (WMF) 2012-11-01 10:08:40 UTC
One can reproduce running the Dump tests using a MediaWiki snapshot:

wget https://integration.mediawiki.org/nightly/mediawiki/core/mediawiki-78a5729.zip
unzip mediawiki-78a5729.zip
cd mediawiki-78a5729
# Install a basic database using sqlite as a backend
php maintenance/install.php benchwiki sysop --pass secret --dbtype sqlite --dbpath .

# Run the Dump test suite
time php tests/phpunit/phpunit.php --group Dump
Comment 5 Antoine "hashar" Musso (WMF) 2012-11-01 10:10:02 UTC
Jenkins keeps track of builds duration. For the Dumps the dashboard is at https://integration.mediawiki.org/ci/job/MediaWiki-Tests-Dumps/buildTimeTrend
Comment 6 Antoine "hashar" Musso (WMF) 2012-11-05 21:25:27 UTC
*** Bug 41657 has been marked as a duplicate of this bug. ***
Comment 7 Antoine "hashar" Musso (WMF) 2012-11-05 21:25:53 UTC
Raising priority per discussion with Rob. That makes tests to fail randomly.
Comment 8 Tim Starling 2012-11-06 00:05:40 UTC
I'm not sure exactly why it got worse in Precise, but moving the temporary files such as SQLite data files to a temporary filesystem (tmpfs) would be a simple fix for the problem. They are only 3.7 MB:

root@gallium:/var/lib/jenkins/jobs# find -maxdepth 3 -name data -type d | xargs du -csh
4.0K	./MediaWiki-Tests-Databaseless/workspace/data
256K	./MediaWiki-Tests-Extensions/workspace/data
244K	./Ext-MobileFrontend/workspace/data
228K	./_shared/workspace/data
224K	./MediaWiki-analysis/workspace/data
276K	./Ext-TranslationNotifications/workspace/data
252K	./MediaWiki-Tests-API/workspace/data
228K	./Ext-WebFonts/workspace/data
292K	./Ext-Translate/workspace/data
272K	./MediaWiki-Tests-Misc/workspace/data
256K	./MediaWiki-Tests-Dumps/workspace/data
248K	./Ext-TitleBlacklist/workspace/data
228K	./Ext-Narayam/workspace/data
236K	./Ext-Wikibase-old/workspace/data
260K	./MediaWiki-Tests-Parser/workspace/data
244K	./Ext-UniversalLanguageSelector/workspace/data
4.0K	./MediaWiki-CheckStyle/workspace/data
3.7M	total

I can set up symlinks.
Comment 9 Tim Starling 2012-11-06 00:30:23 UTC
Done, and build 6515 took only 33 seconds, so I guess it is fixed.

https://integration.mediawiki.org/ci/view/All-enabled/job/MediaWiki-Tests-Dumps/6515/
Comment 10 Krinkle 2012-11-06 03:52:45 UTC
Just for the record, the numbers that hashar used in comment #0 are available on:

https://integration.mediawiki.org/ci/job/MediaWiki-GIT-Fetching/buildTimeTrend

Which want back from 4 min 13 sec (253 s.) to 2 min 24 sec (144 s.)
Comment 11 Antoine "hashar" Musso (WMF) 2012-11-27 09:08:52 UTC
The tmpfs hack is being normalized in puppet with https://gerrit.wikimedia.org/r/#/c/35159/

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links