【 使用环境 】 测试环境
配置:40C128G3.5T *3台
sysbench版本:1.0.17
【 OB or 其他组件 】 OB集群
【 使用版本 】4.0.0-bp2
【问题描述】
sysbench压测write场景正常压测试一段时间后,异常退出:
命令:
sysbench --db-driver=mysql --threads=50 --time=3000 --mysql-host=10.99.1.62 --mysql-port=2883 --mysql-user=‘root@t1’ --mysql-password=’’ --report-interval=2 --tables=100 /usr/share/sysbench/oltp_write_only.lua --db-ps-mode=disable run
报错:
FATAL: mysql_drv_query() returned error 6002 (Transaction rollbacked) for query ‘BEGIN’
FATAL: `thread_run’ function failed: /usr/share/sysbench/oltp_common.lua:405: SQL error, errno = 6002, state = ‘40000’: Transaction rollbacked
Error in my_thread_global_end(): 1 threads didn’t exit
日志:
observer.log中日志太多,大概看了下,没有看到和sysbench相关的报错
但是压测insert场景是正常的,且性能非常不错
【复现路径】问题出现前后相关操作
完全重启后集群状态正常的情况下,压测依然会复现
obd cluster display obtest
Get local repositories and plugins ok
Open ssh connection ok
Cluster status check ok
Connect to observer ok
Wait for observer init ok
±---------------------------------------------+
| observer |
±-----------±--------±-----±------±-------+
| ip | version | port | zone | status |
±-----------±--------±-----±------±-------+
| 10.99.1.61 | 4.0.0.0 | 2881 | zone1 | ACTIVE |
| 10.99.1.62 | 4.0.0.0 | 2881 | zone2 | ACTIVE |
| 10.99.1.63 | 4.0.0.0 | 2881 | zone3 | ACTIVE |
±-----------±--------±-----±------±-------+
obclient -h10.99.1.61 -P2881 -uroot -Doceanbase -A
Connect to obproxy ok
±---------------------------------------------+
| obproxy |
±-----------±-----±----------------±-------+
| ip | port | prometheus_port | status |
±-----------±-----±----------------±-------+
| 10.99.1.62 | 2883 | 2884 | active |
±-----------±-----±----------------±-------+
obclient -h10.99.1.62 -P2883 -uroot -Doceanbase -A
±-----------------------------------------------+
| obagent |
±-----------±------------±-----------±-------+
| ip | server_port | pprof_port | status |
±-----------±------------±-----------±-------+
| 10.99.1.61 | 8088 | 8089 | active |
| 10.99.1.62 | 8088 | 8089 | active |
| 10.99.1.63 | 8088 | 8089 | active |
±-----------±------------±-----------±-------+
Connect to Prometheus ok
±--------------------------------------------------+
| prometheus |
±-----------------------±-----±---------±-------+
| url | user | password | status |
±-----------------------±-----±---------±-------+
| http://10.99.1.63:9090 | | | active |
±-----------------------±-----±---------±-------+
Connect to grafana ok
±----------------------------------------------------------------+
| grafana |
±-----------------------------------±------±----------±-------+
| url | user | password | status |
±-----------------------------------±------±----------±-------+
| http://10.99.1.63:3000/d/oceanbase | admin | oceanbase | active |
±-----------------------------------±------±----------±-------+
【问题现象及影响】
异常退出,由于是测试无影响
【附件】
sysbench --db-driver=mysql --threads=50 --time=3000 --mysql-host=10.99.1.62 --mysql-port=2883 --mysql-user=‘root@t1’ --mysql-password=’’ --report-interval=2 --tables=100 /usr/share/sysbench/oltp_write_only.lua --db-ps-mode=disable run
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 50
Report intermediate results every 2 second(s)
Initializing random number generator from current time
Initializing worker threads…
Threads started!
[ 2s ] thds: 50 tps: 8343.21 qps: 50134.69 (r/w/o: 0.00/33423.79/16710.90) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 4s ] thds: 50 tps: 8500.09 qps: 51019.53 (r/w/o: 0.00/34018.85/17000.68) lat (ms,95%): 8.58 err/s: 0.00 reconn/s: 0.00
[ 6s ] thds: 50 tps: 8613.75 qps: 51677.02 (r/w/o: 0.00/34449.51/17227.51) lat (ms,95%): 8.28 err/s: 0.00 reconn/s: 0.00
[ 8s ] thds: 50 tps: 7941.72 qps: 47640.79 (r/w/o: 0.00/31757.86/15882.93) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 10s ] thds: 50 tps: 7864.73 qps: 47189.40 (r/w/o: 0.00/31459.93/15729.47) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 12s ] thds: 50 tps: 8264.43 qps: 49591.61 (r/w/o: 0.00/33062.24/16529.37) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 14s ] thds: 50 tps: 8221.60 qps: 49323.60 (r/w/o: 0.00/32880.90/16442.70) lat (ms,95%): 8.74 err/s: 0.00 reconn/s: 0.00
[ 16s ] thds: 50 tps: 7793.93 qps: 46766.06 (r/w/o: 0.00/31178.70/15587.35) lat (ms,95%): 9.73 err/s: 0.00 reconn/s: 0.00
[ 18s ] thds: 50 tps: 7865.17 qps: 47169.01 (r/w/o: 0.00/31439.67/15729.34) lat (ms,95%): 9.56 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 50 tps: 7612.33 qps: 45702.46 (r/w/o: 0.00/30475.81/15226.65) lat (ms,95%): 10.09 err/s: 0.00 reconn/s: 0.00
[ 22s ] thds: 50 tps: 7491.11 qps: 44954.17 (r/w/o: 0.00/29973.44/14980.72) lat (ms,95%): 10.65 err/s: 0.00 reconn/s: 0.00
[ 24s ] thds: 50 tps: 7803.23 qps: 46806.90 (r/w/o: 0.00/31198.44/15608.47) lat (ms,95%): 9.91 err/s: 0.00 reconn/s: 0.00
[ 26s ] thds: 50 tps: 8253.37 qps: 49528.72 (r/w/o: 0.00/33022.48/16506.24) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
[ 28s ] thds: 50 tps: 8308.94 qps: 49832.13 (r/w/o: 0.00/33214.25/16617.88) lat (ms,95%): 8.90 err/s: 0.00 reconn/s: 0.00
FATAL: mysql_drv_query() returned error 6002 (Transaction rollbacked) for query ‘BEGIN’
FATAL: `thread_run’ function failed: /usr/share/sysbench/oltp_common.lua:405: SQL error, errno = 6002, state = ‘40000’: Transaction rollbacked
Error in my_thread_global_end(): 1 threads didn’t exit