众所周知国产化数据库进行压力测试的方法是通过模拟大量并发用户和操作,使用工具如JMeter或sysbench进行性能和负载测试,以评估数据库在高负荷下的稳定性和响应能力。本期我们来尝试用Sysbench压下PolarDB。
Sysbench介绍
Sysbench 是一个开源软件工具,具体来说,它是一个为 Linux 系统设计的可脚本多线程基准工具。它是一个 C 二进制文件,使用 LuaJIT 脚本来执行基准。它最常用于数据库基准测试,例如 PostgreSQL,但也可用于创建不涉及数据库服务器的一般性能测试。
环境说明
操作系统版本 | Docker版本 | 数据库版本 | 实验平台 |
---|---|---|---|
CentOS Linux release 7.6.1810 (Core) | 24.0.2 | PostgreSQL 11.9 (POLARDB 11.9) | 云起实验室 |
实验环境polardb已经封装在Docker中,快速创建容器:
docker run -it --rm polardb/polardb_pg_local_instance psql
01 进入Docker环境
[root@iZuf63m6xf7bonb2a82rr4Z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39974bfdee64 polardb/polardb_pg_local_instance "./docker-entrypoint…" 36 minutes ago Up 36 minutes nervous_wozniak
[root@iZuf63m6xf7bonb2a82rr4Z ~]# docker exec -it 39974bfdee64 /bin/bash
postgres@39974bfdee64:~$ sudo su - root
root@39974bfdee64:~#
root@39974bfdee64:/etc# more /etc/debian_version
bookworm/sid
02 安装Sysbench
进入Docker环境我们发现操作系统是Debian
快速安装SysBench的方法如下:
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash
sudo apt -y install sysbench
03 测试方法
docker exec -it 39974bfdee64 /bin/bash
postgres@39974bfdee64:~$ psql
psql (11.9)
Type "help" for help.
postgres=# create database test;
CREATE DATABASE
使用SysBench测试PolarDB开源版的性能:
参数 | 说明 |
---|---|
–pgsql-password | PolarDB 用户密码。 |
–pgsql-port | PolarDB 端口。 |
–pgsql-user | PolarDB P用户名。 |
–pgsql-host | PolarDB 地址。 |
测试PolarDB PostgreSQL版的写场景性能。 |
## 准备数据
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_read_only prepare
## 运行 oltp_insert 测试
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_insert run
## 运行 oltp_update_index 测试
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_update_index run
## 运行 oltp_update_non_index 测试
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_update_non_index run
## 运行 oltp_write_only 测试
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_write_only run
使用SysBench测试PolarDB PostgreSQL版的读场景性能。
## 准备数据
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_read_only prepare
## 运行 oltp_point_select
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_point_select run
## 运行 oltp_read_only
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_read_only run
使用SysBench测试PolarDB PostgreSQL版的读写混合场景性能。
## 准备数据
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_read_only prepare
## 运行 oltp_read_write
sysbench --pgsql-password=XXX --pgsql-port=XXX --report-interval='1' --pgsql-host=XXX --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='256' --table-size='64000000' --time='1200' --pgsql-user=XXX --rand-type='uniform' --pgsql-db=testdb oltp_read_write run
04 测试样例
postgres@39974bfdee64:~$ sysbench --pgsql-password=postgres --pgsql-port=5432 --report-interval='1' --pgsql-host=127.0.0.1 --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='2' --table-size='50000' --time='60' --pgsql-user=postgres --rand-type='uniform' --pgsql-db=test oltp_read_only prepare
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Initializing worker threads...
Creating table 'sbtest1'...
Creating table 'sbtest2'...
Inserting 50000 records into 'sbtest1'
Inserting 50000 records into 'sbtest2'
Creating a secondary index on 'sbtest2'...
Creating table 'sbtest4'...
Creating a secondary index on 'sbtest1'...
Inserting 50000 records into 'sbtest4'
Creating table 'sbtest3'...
Inserting 50000 records into 'sbtest3'
Creating a secondary index on 'sbtest4'...
Creating table 'sbtest6'...
Inserting 50000 records into 'sbtest6'
Creating a secondary index on 'sbtest3'...
Creating table 'sbtest5'...
Inserting 50000 records into 'sbtest5'
Creating a secondary index on 'sbtest6'...
Creating a secondary index on 'sbtest5'...
Creating table 'sbtest8'...
Inserting 50000 records into 'sbtest8'
Creating table 'sbtest7'...
Inserting 50000 records into 'sbtest7'
Creating a secondary index on 'sbtest8'...
Creating a secondary index on 'sbtest7'...
postgres@39974bfdee64:~$ sysbench --pgsql-password=postgres --pgsql-port=5432 --report-interval='1' --pgsql-host=127.0.0.1 --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='2' --table-size='50000' --time='60' --pgsql-user=postgres --rand-type='uniform' --pgsql-db=test oltp_insert run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 2
Report intermediate results every 1 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 1s ] thds: 2 tps: 612.96 qps: 612.96 (r/w/o: 0.00/612.96/0.00) lat (ms,95%): 3.96 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 2 tps: 621.16 qps: 621.16 (r/w/o: 0.00/621.16/0.00) lat (ms,95%): 4.10 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 2 tps: 618.97 qps: 618.97 (r/w/o: 0.00/618.97/0.00) lat (ms,95%): 3.75 err/s: 0.00 reconn/s: 0.00
[ 4s ] thds: 2 tps: 623.03 qps: 623.03 (r/w/o: 0.00/623.03/0.00) lat (ms,95%): 3.89 err/s: 0.00 reconn/s: 0.00
[ 5s ] thds: 2 tps: 626.00 qps: 626.00 (r/w/o: 0.00/626.00/0.00) lat (ms,95%): 3.55 err/s: 0.00 reconn/s: 0.00
[ 6s ] thds: 2 tps: 535.00 qps: 535.00 (r/w/o: 0.00/535.00/0.00) lat (ms,95%): 6.21 err/s: 0.00 reconn/s: 0.00
[ 7s ] thds: 2 tps: 531.00 qps: 531.00 (r/w/o: 0.00/531.00/0.00) lat (ms,95%): 6.32 err/s: 0.00 reconn/s: 0.00
[ 8s ] thds: 2 tps: 528.00 qps: 528.00 (r/w/o: 0.00/528.00/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 9s ] thds: 2 tps: 535.98 qps: 535.98 (r/w/o: 0.00/535.98/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 2 tps: 530.01 qps: 530.01 (r/w/o: 0.00/530.01/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 11s ] thds: 2 tps: 533.98 qps: 533.98 (r/w/o: 0.00/533.98/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 12s ] thds: 2 tps: 531.98 qps: 531.98 (r/w/o: 0.00/531.98/0.00) lat (ms,95%): 7.84 err/s: 0.00 reconn/s: 0.00
[ 13s ] thds: 2 tps: 534.04 qps: 534.04 (r/w/o: 0.00/534.04/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 14s ] thds: 2 tps: 533.99 qps: 533.99 (r/w/o: 0.00/533.99/0.00) lat (ms,95%): 7.84 err/s: 0.00 reconn/s: 0.00
[ 15s ] thds: 2 tps: 536.04 qps: 536.04 (r/w/o: 0.00/536.04/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 16s ] thds: 2 tps: 534.00 qps: 534.00 (r/w/o: 0.00/534.00/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 17s ] thds: 2 tps: 531.99 qps: 531.99 (r/w/o: 0.00/531.99/0.00) lat (ms,95%): 8.13 err/s: 0.00 reconn/s: 0.00
[ 18s ] thds: 2 tps: 528.00 qps: 528.00 (r/w/o: 0.00/528.00/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 19s ] thds: 2 tps: 529.98 qps: 529.98 (r/w/o: 0.00/529.98/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 2 tps: 530.94 qps: 530.94 (r/w/o: 0.00/530.94/0.00) lat (ms,95%): 7.70 err/s: 0.00 reconn/s: 0.00
[ 21s ] thds: 2 tps: 524.06 qps: 524.06 (r/w/o: 0.00/524.06/0.00) lat (ms,95%): 8.28 err/s: 0.00 reconn/s: 0.00
[ 22s ] thds: 2 tps: 533.95 qps: 533.95 (r/w/o: 0.00/533.95/0.00) lat (ms,95%): 5.57 err/s: 0.00 reconn/s: 0.00
[ 23s ] thds: 2 tps: 528.06 qps: 528.06 (r/w/o: 0.00/528.06/0.00) lat (ms,95%): 5.37 err/s: 0.00 reconn/s: 0.00
[ 24s ] thds: 2 tps: 531.99 qps: 531.99 (r/w/o: 0.00/531.99/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 25s ] thds: 2 tps: 532.99 qps: 532.99 (r/w/o: 0.00/532.99/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 26s ] thds: 2 tps: 531.01 qps: 531.01 (r/w/o: 0.00/531.01/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 27s ] thds: 2 tps: 532.01 qps: 532.01 (r/w/o: 0.00/532.01/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 28s ] thds: 2 tps: 531.02 qps: 531.02 (r/w/o: 0.00/531.02/0.00) lat (ms,95%): 5.28 err/s: 0.00 reconn/s: 0.00
[ 29s ] thds: 2 tps: 532.00 qps: 532.00 (r/w/o: 0.00/532.00/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 2 tps: 528.99 qps: 528.99 (r/w/o: 0.00/528.99/0.00) lat (ms,95%): 5.37 err/s: 0.00 reconn/s: 0.00
[ 31s ] thds: 2 tps: 537.00 qps: 537.00 (r/w/o: 0.00/537.00/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 32s ] thds: 2 tps: 532.00 qps: 532.00 (r/w/o: 0.00/532.00/0.00) lat (ms,95%): 5.09 err/s: 0.00 reconn/s: 0.00
[ 33s ] thds: 2 tps: 527.01 qps: 527.01 (r/w/o: 0.00/527.01/0.00) lat (ms,95%): 5.37 err/s: 0.00 reconn/s: 0.00
[ 34s ] thds: 2 tps: 531.99 qps: 531.99 (r/w/o: 0.00/531.99/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 35s ] thds: 2 tps: 531.00 qps: 531.00 (r/w/o: 0.00/531.00/0.00) lat (ms,95%): 5.37 err/s: 0.00 reconn/s: 0.00
[ 36s ] thds: 2 tps: 529.00 qps: 529.00 (r/w/o: 0.00/529.00/0.00) lat (ms,95%): 5.37 err/s: 0.00 reconn/s: 0.00
[ 37s ] thds: 2 tps: 531.01 qps: 531.01 (r/w/o: 0.00/531.01/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 38s ] thds: 2 tps: 534.00 qps: 534.00 (r/w/o: 0.00/534.00/0.00) lat (ms,95%): 5.18 err/s: 0.00 reconn/s: 0.00
[ 39s ] thds: 2 tps: 534.97 qps: 534.97 (r/w/o: 0.00/534.97/0.00) lat (ms,95%): 5.09 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 2 tps: 531.98 qps: 531.98 (r/w/o: 0.00/531.98/0.00) lat (ms,95%): 5.28 err/s: 0.00 reconn/s: 0.00
[ 41s ] thds: 2 tps: 527.03 qps: 527.03 (r/w/o: 0.00/527.03/0.00) lat (ms,95%): 5.28 err/s: 0.00 reconn/s: 0.00
[ 42s ] thds: 2 tps: 504.01 qps: 504.01 (r/w/o: 0.00/504.01/0.00) lat (ms,95%): 6.43 err/s: 0.00 reconn/s: 0.00
[ 43s ] thds: 2 tps: 505.00 qps: 505.00 (r/w/o: 0.00/505.00/0.00) lat (ms,95%): 6.43 err/s: 0.00 reconn/s: 0.00
[ 44s ] thds: 2 tps: 525.99 qps: 525.99 (r/w/o: 0.00/525.99/0.00) lat (ms,95%): 5.57 err/s: 0.00 reconn/s: 0.00
[ 45s ] thds: 2 tps: 526.04 qps: 526.04 (r/w/o: 0.00/526.04/0.00) lat (ms,95%): 5.47 err/s: 0.00 reconn/s: 0.00
[ 46s ] thds: 2 tps: 527.97 qps: 527.97 (r/w/o: 0.00/527.97/0.00) lat (ms,95%): 5.37 err/s: 0.00 reconn/s: 0.00
[ 47s ] thds: 2 tps: 528.00 qps: 528.00 (r/w/o: 0.00/528.00/0.00) lat (ms,95%): 5.37 err/s: 0.00 reconn/s: 0.00
[ 48s ] thds: 2 tps: 522.96 qps: 522.96 (r/w/o: 0.00/522.96/0.00) lat (ms,95%): 5.47 err/s: 0.00 reconn/s: 0.00
[ 49s ] thds: 2 tps: 520.98 qps: 520.98 (r/w/o: 0.00/520.98/0.00) lat (ms,95%): 6.21 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 2 tps: 526.05 qps: 526.05 (r/w/o: 0.00/526.05/0.00) lat (ms,95%): 7.43 err/s: 0.00 reconn/s: 0.00
[ 51s ] thds: 2 tps: 524.00 qps: 524.00 (r/w/o: 0.00/524.00/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
[ 52s ] thds: 2 tps: 527.00 qps: 527.00 (r/w/o: 0.00/527.00/0.00) lat (ms,95%): 8.13 err/s: 0.00 reconn/s: 0.00
[ 53s ] thds: 2 tps: 522.00 qps: 522.00 (r/w/o: 0.00/522.00/0.00) lat (ms,95%): 8.28 err/s: 0.00 reconn/s: 0.00
[ 54s ] thds: 2 tps: 522.01 qps: 522.01 (r/w/o: 0.00/522.01/0.00) lat (ms,95%): 8.13 err/s: 0.00 reconn/s: 0.00
[ 55s ] thds: 2 tps: 524.99 qps: 524.99 (r/w/o: 0.00/524.99/0.00) lat (ms,95%): 8.28 err/s: 0.00 reconn/s: 0.00
[ 56s ] thds: 2 tps: 521.01 qps: 521.01 (r/w/o: 0.00/521.01/0.00) lat (ms,95%): 8.28 err/s: 0.00 reconn/s: 0.00
[ 57s ] thds: 2 tps: 526.99 qps: 526.99 (r/w/o: 0.00/526.99/0.00) lat (ms,95%): 7.84 err/s: 0.00 reconn/s: 0.00
[ 58s ] thds: 2 tps: 521.00 qps: 521.00 (r/w/o: 0.00/521.00/0.00) lat (ms,95%): 8.13 err/s: 0.00 reconn/s: 0.00
[ 59s ] thds: 2 tps: 524.97 qps: 524.97 (r/w/o: 0.00/524.97/0.00) lat (ms,95%): 8.13 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 2 tps: 527.04 qps: 527.04 (r/w/o: 0.00/527.04/0.00) lat (ms,95%): 7.98 err/s: 0.00 reconn/s: 0.00
Latency histogram (values are in milliseconds)
value ------------- distribution ------------- count
1.759 | 5
1.791 | 2
1.824 | 12
1.857 | 19
1.891 | 16
1.925 | 13
1.960 | 14
1.996 | 9
2.032 | 4
2.069 | 10
2.106 | 8
2.145 | 4
2.184 | 3
2.223 | 5
2.264 | 1
2.305 | 2
2.389 | 2
2.433 | 4
2.477 | 3
2.568 | 1
2.615 | 1
2.662 | 3
2.710 | 4
2.810 | 11
2.861 | 45
2.913 |** 305
2.966 |********** 1253
3.020 |*************************** 3427
3.075 |**************************************** 5036
3.130 |************************************ 4578
3.187 |************************** 3243
3.245 |****************** 2237
3.304 |*********** 1388
3.364 |****** 776
3.425 |*** 433
3.488 |** 307
3.551 |** 252
3.615 |** 204
3.681 |* 165
3.748 |* 170
3.816 |* 168
3.885 |* 178
3.956 |* 155
4.028 |* 170
4.101 |** 193
4.176 |** 202
4.252 |** 287
4.329 |** 307
4.407 |** 303
4.487 |** 296
4.569 |*** 357
4.652 |*** 397
4.737 |**** 516
4.823 |***** 582
4.910 |**** 514
4.999 |** 275
5.090 |** 231
5.183 |** 192
5.277 |** 227
5.373 |** 205
5.470 |* 123
5.570 |* 79
5.671 |* 68
5.774 | 56
5.879 |* 73
5.986 | 62
6.095 |* 64
6.205 | 51
6.318 | 34
6.433 | 44
6.550 | 40
6.669 | 22
6.790 | 26
6.913 | 45
7.039 |* 71
7.167 |* 107
7.297 |* 125
7.430 |* 134
7.565 |* 123
7.702 |* 127
7.842 |* 149
7.985 |* 157
8.130 |* 150
8.277 |* 127
8.428 |* 90
8.581 | 60
8.737 |* 72
8.895 | 53
9.057 | 33
9.222 | 22
9.389 | 21
9.560 | 10
9.734 | 7
9.910 | 7
10.460 | 2
10.844 | 3
12.081 | 2
13.953 | 1
14.207 | 1
SQL statistics:
queries performed:
read: 0
write: 32171
other: 0
total: 32171
transactions: 32171 (536.09 per sec.)
queries: 32171 (536.09 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 60.0095s
total number of events: 32171
Latency (ms):
min: 1.74
avg: 3.73
max: 14.13
95th percentile: 7.04
sum: 119928.23
Threads fairness:
events (avg/stddev): 16085.5000/0.50
execution time (avg/stddev): 59.9641/0.00
postgres@39974bfdee64:~$ sysbench --pgsql-password=postgres --pgsql-port=5432 --report-interval='1' --pgsql-host=127.0.0.1 --tables='8' --db-driver='pgsql' --events='0' --histogram='on' --percentile='95' --threads='4' --table-size='50000' --time='60' --pgsql-user=postgres --rand-type='uniform' --pgsql-db=test oltp_update_index run
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 4
Report intermediate results every 1 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 1s ] thds: 4 tps: 1148.82 qps: 1148.82 (r/w/o: 0.00/1148.82/0.00) lat (ms,95%): 4.25 err/s: 0.00 reconn/s: 0.00
[ 2s ] thds: 4 tps: 616.21 qps: 616.21 (r/w/o: 0.00/616.21/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 3s ] thds: 4 tps: 559.03 qps: 559.03 (r/w/o: 0.00/559.03/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 4s ] thds: 4 tps: 597.87 qps: 597.87 (r/w/o: 0.00/597.87/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 5s ] thds: 4 tps: 599.00 qps: 599.00 (r/w/o: 0.00/599.00/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 6s ] thds: 4 tps: 700.03 qps: 700.03 (r/w/o: 0.00/700.03/0.00) lat (ms,95%): 9.22 err/s: 0.00 reconn/s: 0.00
[ 7s ] thds: 4 tps: 573.08 qps: 573.08 (r/w/o: 0.00/573.08/0.00) lat (ms,95%): 10.46 err/s: 0.00 reconn/s: 0.00
[ 8s ] thds: 4 tps: 608.00 qps: 608.00 (r/w/o: 0.00/608.00/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 9s ] thds: 4 tps: 611.01 qps: 611.01 (r/w/o: 0.00/611.01/0.00) lat (ms,95%): 9.22 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 4 tps: 607.98 qps: 607.98 (r/w/o: 0.00/607.98/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 11s ] thds: 4 tps: 630.00 qps: 630.00 (r/w/o: 0.00/630.00/0.00) lat (ms,95%): 9.73 err/s: 0.00 reconn/s: 0.00
[ 12s ] thds: 4 tps: 695.97 qps: 695.97 (r/w/o: 0.00/695.97/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 13s ] thds: 4 tps: 591.02 qps: 591.02 (r/w/o: 0.00/591.02/0.00) lat (ms,95%): 9.91 err/s: 0.00 reconn/s: 0.00
[ 14s ] thds: 4 tps: 639.99 qps: 639.99 (r/w/o: 0.00/639.99/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 15s ] thds: 4 tps: 635.00 qps: 635.00 (r/w/o: 0.00/635.00/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 16s ] thds: 4 tps: 628.98 qps: 628.98 (r/w/o: 0.00/628.98/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 17s ] thds: 4 tps: 728.03 qps: 728.03 (r/w/o: 0.00/728.03/0.00) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 18s ] thds: 4 tps: 592.98 qps: 592.98 (r/w/o: 0.00/592.98/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 19s ] thds: 4 tps: 655.99 qps: 655.99 (r/w/o: 0.00/655.99/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 4 tps: 644.07 qps: 644.07 (r/w/o: 0.00/644.07/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 21s ] thds: 4 tps: 666.00 qps: 666.00 (r/w/o: 0.00/666.00/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 22s ] thds: 4 tps: 703.95 qps: 703.95 (r/w/o: 0.00/703.95/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 23s ] thds: 4 tps: 658.05 qps: 658.05 (r/w/o: 0.00/658.05/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 24s ] thds: 4 tps: 662.00 qps: 662.00 (r/w/o: 0.00/662.00/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 25s ] thds: 4 tps: 677.00 qps: 677.00 (r/w/o: 0.00/677.00/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 26s ] thds: 4 tps: 688.00 qps: 688.00 (r/w/o: 0.00/688.00/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 27s ] thds: 4 tps: 723.98 qps: 723.98 (r/w/o: 0.00/723.98/0.00) lat (ms,95%): 8.58 err/s: 0.00 reconn/s: 0.00
[ 28s ] thds: 4 tps: 662.01 qps: 662.01 (r/w/o: 0.00/662.01/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 29s ] thds: 4 tps: 681.00 qps: 681.00 (r/w/o: 0.00/681.00/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 4 tps: 692.00 qps: 692.00 (r/w/o: 0.00/692.00/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 31s ] thds: 4 tps: 683.99 qps: 683.99 (r/w/o: 0.00/683.99/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 32s ] thds: 4 tps: 793.00 qps: 793.00 (r/w/o: 0.00/793.00/0.00) lat (ms,95%): 8.28 err/s: 0.00 reconn/s: 0.00
[ 33s ] thds: 4 tps: 646.99 qps: 646.99 (r/w/o: 0.00/646.99/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 34s ] thds: 4 tps: 714.79 qps: 714.79 (r/w/o: 0.00/714.79/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 35s ] thds: 4 tps: 724.15 qps: 724.15 (r/w/o: 0.00/724.15/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 36s ] thds: 4 tps: 719.95 qps: 719.95 (r/w/o: 0.00/719.95/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 37s ] thds: 4 tps: 798.16 qps: 798.16 (r/w/o: 0.00/798.16/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 38s ] thds: 4 tps: 678.00 qps: 678.00 (r/w/o: 0.00/678.00/0.00) lat (ms,95%): 9.91 err/s: 0.00 reconn/s: 0.00
[ 39s ] thds: 4 tps: 737.99 qps: 737.99 (r/w/o: 0.00/737.99/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 4 tps: 736.01 qps: 736.01 (r/w/o: 0.00/736.01/0.00) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 41s ] thds: 4 tps: 741.98 qps: 741.98 (r/w/o: 0.00/741.98/0.00) lat (ms,95%): 8.43 err/s: 0.00 reconn/s: 0.00
[ 42s ] thds: 4 tps: 774.99 qps: 774.99 (r/w/o: 0.00/774.99/0.00) lat (ms,95%): 9.91 err/s: 0.00 reconn/s: 0.00
[ 43s ] thds: 4 tps: 727.00 qps: 727.00 (r/w/o: 0.00/727.00/0.00) lat (ms,95%): 9.06 err/s: 0.00 reconn/s: 0.00
[ 44s ] thds: 4 tps: 743.03 qps: 743.03 (r/w/o: 0.00/743.03/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 45s ] thds: 4 tps: 757.99 qps: 757.99 (r/w/o: 0.00/757.99/0.00) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 46s ] thds: 4 tps: 799.97 qps: 799.97 (r/w/o: 0.00/799.97/0.00) lat (ms,95%): 8.43 err/s: 0.00 reconn/s: 0.00
[ 47s ] thds: 4 tps: 703.02 qps: 703.02 (r/w/o: 0.00/703.02/0.00) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 48s ] thds: 4 tps: 763.97 qps: 763.97 (r/w/o: 0.00/763.97/0.00) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 49s ] thds: 4 tps: 730.04 qps: 730.04 (r/w/o: 0.00/730.04/0.00) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 4 tps: 743.99 qps: 743.99 (r/w/o: 0.00/743.99/0.00) lat (ms,95%): 8.58 err/s: 0.00 reconn/s: 0.00
[ 51s ] thds: 4 tps: 758.93 qps: 758.93 (r/w/o: 0.00/758.93/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 52s ] thds: 4 tps: 747.06 qps: 747.06 (r/w/o: 0.00/747.06/0.00) lat (ms,95%): 8.58 err/s: 0.00 reconn/s: 0.00
[ 53s ] thds: 4 tps: 752.01 qps: 752.01 (r/w/o: 0.00/752.01/0.00) lat (ms,95%): 8.58 err/s: 0.00 reconn/s: 0.00
[ 54s ] thds: 4 tps: 743.99 qps: 743.99 (r/w/o: 0.00/743.99/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 55s ] thds: 4 tps: 768.94 qps: 768.94 (r/w/o: 0.00/768.94/0.00) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 56s ] thds: 4 tps: 717.08 qps: 717.08 (r/w/o: 0.00/717.08/0.00) lat (ms,95%): 9.39 err/s: 0.00 reconn/s: 0.00
[ 57s ] thds: 4 tps: 719.95 qps: 719.95 (r/w/o: 0.00/719.95/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 58s ] thds: 4 tps: 730.03 qps: 730.03 (r/w/o: 0.00/730.03/0.00) lat (ms,95%): 8.43 err/s: 0.00 reconn/s: 0.00
[ 59s ] thds: 4 tps: 733.95 qps: 733.95 (r/w/o: 0.00/733.95/0.00) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 4 tps: 737.92 qps: 737.92 (r/w/o: 0.00/737.92/0.00) lat (ms,95%): 8.58 err/s: 0.00 reconn/s: 0.00
Latency histogram (values are in milliseconds)
value ------------- distribution ------------- count
1.857 | 1
1.925 | 1
1.996 | 1
2.032 | 6
2.069 | 3
2.106 | 7
2.145 | 1
2.184 | 1
2.223 | 1
2.264 | 3
2.305 | 1
2.347 | 1
2.389 | 1
2.477 | 1
2.522 | 1
2.662 | 1
2.710 | 7
2.760 | 10
2.810 | 16
2.861 |* 41
2.913 |** 127
2.966 |**** 338
3.020 |************ 925
3.075 |************************ 1857
3.130 |************************************ 2787
3.187 |**************************************** 3065
3.245 |********************************** 2574
3.304 |************************** 1994
3.364 |******************* 1478
3.425 |************* 997
3.488 |********* 691
3.551 |****** 494
3.615 |***** 349
3.681 |**** 305
3.748 |*** 210
3.816 |** 183
3.885 |** 140
3.956 |* 107
4.028 |* 95
4.101 |* 90
4.176 |* 95
4.252 |** 115
4.329 |* 107
4.407 |* 80
4.487 |* 104
4.569 |* 94
4.652 |* 99
4.737 |* 109
4.823 |* 103
4.910 |* 72
4.999 |* 67
5.090 |* 64
5.183 |* 83
5.277 |* 66
5.373 |* 80
5.470 |* 86
5.570 |* 84
5.671 |* 91
5.774 |* 101
5.879 |** 116
5.986 |** 127
6.095 |** 171
6.205 |*** 223
6.318 |**** 290
6.433 |**** 339
6.550 |****** 438
6.669 |********* 719
6.790 |************** 1061
6.913 |************ 893
7.039 |******** 649
7.167 |********* 713
7.297 |************** 1036
7.430 |*********** 848
7.565 |********* 685
7.702 |************* 975
7.842 |****************** 1353
7.985 |************* 1008
8.130 |************ 887
8.277 |******************* 1491
8.428 |********************* 1645
8.581 |*********** 815
8.737 |*********** 813
8.895 |************** 1107
9.057 |********* 716
9.222 |***** 393
9.389 |******* 546
9.560 |***** 383
9.734 |*** 199
9.910 |**** 283
10.090 |** 186
10.274 |* 77
10.460 |* 76
10.651 |* 45
10.844 | 20
11.041 | 11
11.242 | 10
11.446 | 7
11.654 | 8
11.866 | 4
12.081 | 5
12.301 | 2
12.524 | 1
12.752 | 2
13.219 | 4
15.828 | 2
16.115 | 1
16.706 | 2
17.010 | 3
17.633 | 5
17.954 | 2
18.280 | 3
SQL statistics:
queries performed:
read: 0
write: 42009
other: 0
total: 42009
transactions: 42009 (700.09 per sec.)
queries: 42009 (700.09 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
General statistics:
total time: 60.0039s
total number of events: 42009
Latency (ms):
min: 1.84
avg: 5.71
max: 18.36
95th percentile: 9.22
sum: 239962.90
Threads fairness:
events (avg/stddev): 10502.2500/0.43
execution time (avg/stddev): 59.9907/0.00
总结
在数据库性能测试工具Sysbench的部署过程中,我发现不同操作系统版本之间存在一些细微差异。如果不仔细阅读相关说明,很容易导致部署过程中的问题。我之前没有按照官方文档的建议进行操作,结果走了不少弯路。
每个操作系统的环境可能存在差异,这些差异直接影响到Sysbench的配置和使用。例如,某些依赖库的安装方式、系统环境变量的配置以及测试脚本的执行方式等都可能有所不同。如果不仔细按照官方文档中的指导步骤来操作,可能会遇到无法运行测试、测试结果不准确或配置失败等问题。
此外,各个数据库厂商在官方文档中提供了与Sysbench配合使用的具体测试说明。这些说明通常针对特定的数据库版本和操作系统环境,提供了最佳实践和常见问题的解决方案。忽略这些文档可能会导致测试结果不准确,甚至可能得出误导性的结论。
总结来说,在Sysbench的部署过程中,一定要仔细阅读并遵循官方文档的说明,尤其是针对不同操作系统版本的差异化配置建议。这样可以避免不必要的麻烦,提高部署效率,并确保测试结果的准确性。