mirror of
https://github.com/MariaDB/server.git
synced 2025-07-21 23:50:01 +00:00
Extend the Gitlab-CI pipeline to run mini benchmark
Implement new mini-benchmark script for simple CPU bound benchmark for the duration of 5 minutes. The script can be run stand-alone or as part of a CI pipeline. Extend Gitlab-CI to run mini-benchmark on every commit to catch if there are severe performance regressions. Also bump MARIADB_MAJOR_VERSION to 10.8 which is needed on the 10.8 branch.
This commit is contained in:
@ -39,7 +39,7 @@ variables:
|
||||
CMAKE_FLAGS: "-DWITH_SSL=system -DPLUGIN_COLUMNSTORE=NO -DPLUGIN_ROCKSDB=NO -DPLUGIN_S3=NO -DPLUGIN_MROONGA=NO -DPLUGIN_CONNECT=NO -DPLUGIN_MROONGA=NO -DPLUGIN_TOKUDB=NO -DPLUGIN_PERFSCHEMA=NO -DWITH_WSREP=OFF"
|
||||
# Major version dictates which branches share the same ccache. E.g. 10.6-abc
|
||||
# and 10.6-xyz will have the same cache.
|
||||
MARIADB_MAJOR_VERSION: "10.6"
|
||||
MARIADB_MAJOR_VERSION: "10.8"
|
||||
# NOTE! Currently ccache is only used on the Centos8 build. As each job has
|
||||
# sufficiently different environments they are unable to benefit from each
|
||||
# other's ccaches. As each build generates about 1 GB of ccache, having
|
||||
@ -364,6 +364,35 @@ fedora upgrade:
|
||||
- new-installed-database.sql
|
||||
- new-upgraded-database.sql
|
||||
|
||||
mini-benchmark:
|
||||
stage: test
|
||||
dependencies:
|
||||
- fedora
|
||||
script:
|
||||
- ls -la rpm; rm -vf rpm/*.el?.* # Delete artifacts from Centos builds
|
||||
# Don't use cracklib, otherwise the Sysbench user password will be rejected
|
||||
- rm -vf rpm/*cracklib*.rpm
|
||||
# Nothing provides galera-4 on Fedora, so this step fails if built with wsrep
|
||||
- yum install -y rpm/*.rpm
|
||||
# Fedora does not support running services in Docker (like Debian packages do) so start it manually
|
||||
- /usr/bin/mariadb-install-db -u mysql
|
||||
- sudo -u mysql /usr/sbin/mariadbd & sleep 10
|
||||
# Since we did a manual start, we also need to run upgrade manually
|
||||
- /usr/bin/mariadb-upgrade -u root
|
||||
- |
|
||||
mariadb --skip-column-names -e "SELECT @@version, @@version_comment" | tee /tmp/version
|
||||
grep $MARIADB_MAJOR_VERSION /tmp/version || echo "MariaDB didn't install properly"
|
||||
- yum install -y sysbench procps-ng perf || yum install -y https://kojipkgs.fedoraproject.org//packages/luajit/2.0.4/3.el7/x86_64/luajit-2.0.4-3.el7.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/sysbench/1.0.17/2.el7/x86_64/sysbench-1.0.17-2.el7.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/ck/0.5.2/2.el7/x86_64/ck-0.5.2-2.el7.x86_64.rpm
|
||||
- /usr/share/mysql/mini-benchmark
|
||||
- cp -av */sysbench-run-*.log */metrics.txt .. # Move files one level down so they can be saved as artifacts
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- sysbench-run-*.log
|
||||
reports:
|
||||
metrics:
|
||||
- metrics.txt
|
||||
|
||||
# Once all RPM builds and tests have passed, also run the DEB builds and tests
|
||||
# @NOTE: This is likely to work well only on salsa.debian.org as the Gitlab.com
|
||||
# runners are too small for everything this stage does.
|
||||
|
Reference in New Issue
Block a user