facebookresearch / DCPerf

DCPerf benchmark suite for hyperscale cloud applications
MIT License
140 stars 13 forks source link

CentOS8 Mediawiki issues #59

Open CoolBlueSam opened 3 months ago

CoolBlueSam commented 3 months ago

1) MariaDB/MySQL It seems the run expects both mysql and mariadb to be installed together. But on centos8 installing one after the other throws a conflict and only lets you install one of them.

In packages/mediawiki/run.sh, I commented out call to this function: _check_local_db_running as it expects both mariadb and mysql to be running.

if [[ "$mariadb_status" != "active" ]] && [[ "$mysql_status" != "active" ]]

This if statement doesn't match with the error message, as it seems it only expects one of them to be running. Maybe if needs to be || instead of &&?

>&2 echo "Make sure either 'mariadb' or 'mysql' is running."

2) PHP outofboundsexception on results After running mediawiki, it seems that php is unable to colelct stats. Any packages missing or setup needed for this?


2024-08-26 18:09:35 UTC Collecting results

Fatal error: Uncaught exception 'OutOfBoundsException' with message 'Integer key 1 is out of bounds' in /DCPerf/oss-performance/base/SiegeStats.php:30 Stack trace:

0 /DCPerf/oss-performance/base/PerfRunner.php(272): Siege->collectStats()

1 /DCPerf/oss-performance/base/PerfRunner.php(79): PerfRunner::RunWithOptionsAndEngines()

2 /DCPerf/oss-performance/base/PerfRunner.php(21): PerfRunner::RunWithOptions()

3 /DCPerf/oss-performance/perf.php(14): PerfRunner::RunWithArgv()

4 /DCPerf/oss-performance/perf.php(18): perf_main()

5 {main}

excelle08 commented 3 months ago

Hello,

The statement if [[ "$mariadb_status" != "active" ]] && [[ "$mysql_status" != "active" ]] tests if both mariadb and mysqld are not active, so this is expected.

Regarding "OutOfBoundsException", it's likely due to Siege hung and got killed so it didn't get to generate results. We're working on replacing Siege with wrk, but it's going to take a while for this improvement to release, so currently we could only rerun this benchmark.

CoolBlueSam commented 3 months ago

For 1. I think i saw in the log: ERROR:systemctl:Unit mysqld.service could not be found. So was thinking that might be one of the reasons why my test is failing.

But.. For 2. Siege was indeed hung and the main culprit. I had to use the workaround for reducing scale_out by 1 from the calculated value and use the no_jit option to reduce warmup.

It would be great if no_jit can be provided as options to benchmark_cli instead of using it via run.sh directly.

excelle08 commented 3 weeks ago

The hanging issue should be fixed in 2ad3809, please feel free to try. Also now you can supply the --no-jit option through extra_args parameter: https://github.com/facebookresearch/DCPerf/tree/main/packages/mediawiki#disable-jit