| Benchmarking | |
|---|---|
| This help page documents how to benchmark the performance of Semantic MediaWiki. | |
| Collection | |
| Keywords | |
| Table of Contents | |
Contents |
Documentation[edit]
Benchmark tests are to use PHPUnit as integration platform and do not always
represent the best tool for a performance comparison (as it depends on environmental
factors such as hardware and software constraints which might not be under the
control of the tester) but it can help to identify performance regressions among
newly introduced features that run with the same environmental specification.
Benchmarks are not performed in isolation and therefore run in concert with the
MediaWiki infrastructure to determine the overall performance impact during
execution.
When using git, it is relatively easy to run tests and see if a change
introduces a significant regression or improvement in terms of performance over
the existing master branch by comparing test results of the master against
a feature branch.
Designing benchmark tests
The definition of what benchmarks are executed is specified by a JSONScript
found in the TestCases directory. Supported types are:
importto import data from an external sourcecontentCopycopy content from an internal sourceeditCopyedit content from an internal sourcejobrunning selected jobsmaintenancerunning selected maintenance scriptsqueryexecuting#askqueries
Running benchmark tests
Running composer benchmark from the Semantic MediaWiki base directory should
output something similar to what can be seen below.
``` - mediawiki: "1.28.0-alpha" - semantic-mediawiki: "2.5.0-alpha" - environment: {"store":"SMWSQLStore3","db":"mysql"} - benchmarks - 35a205a6fa1db2cda4c484d3007953b3 - type: "import" - source: "import-001.xml" - memory: 5564360 - time: {"sum":5.9888241} - 054543b5702e6fcbccafd00bf6dd27ac - type: "contentCopy" - source: "import-001.xml" - import - memory: 351392 - time: {"sum":0.900929} - copy - copyFrom: "Lorem ipsum" - copyCount: 10 - memory: 75056 - time: {"sum":7.9295225,"mean":0.7929523,"sd":0.1008703,"norm":0.0792952} - time: 8.8402690887451
```