OB进行sysbench bulk_insert 500thread 报错

【产品名称】OB+ODP

【产品版本】3.1.2

【问题描述】

使用OB3.1.2部署单租户进行sysbench压测,压到bulk insert 500线程的时候就报下面的错,请问该怎么解决?

FATAL: `thread_run’ function failed: /root/sysbench/ob_sysbench-1.0.20/src/lua/bulk_insert.lua:38: db_bulk_insert_next() failed

目前的timeout为调优之后的值

##数据库下租户设置,防止事务超时 set global ob_timestamp_service=‘GTS’; set global autocommit=ON; set global ob_query_timeout=36000000000; set global ob_trx_timeout=36000000000; set global max_allowed_packet=67108864; set global ob_sql_work_area_percentage=100;

压测命令:/usr/local/bin/sysbench /root/sysbench/ob_sysbench-1.0.20/src/lua/bulk_insert.lua --mysql-storage-engine=innodb --table-size=1000000 --tables=16 --mysql-db=test --mysql-user=tpcc_tenant@tpcc_tenant --mysql-password=tpcc_tenant --mysql-port=2883 --mysql-host=1xx.xx.xx.209 --threads=500 --time=300 --report-interval=1 --db-ps-mode=disable --events=0 --db-driver=mysql run

信息太少,可以看下observer的日志,有什么错误信息输出

看错误信息像是sysbench的错误啊

并发太大,导致内存满了

Observer日志:

[2022-04-19 15:14:37.956610] ERROR [SQL.PC] add_plan (ob_plan_cache.cpp:519) [62970][1744][YB42C0A895D4-0005DCAB985F59FD] [lt=55] [dc=0] plan cache memory used reach limit(tenant_id=1001, get_mem_hold()=9776922624, get_mem_limit()=9663676415, ret=-5226) BACKTRACE:0x97b78ce 0x970a211 0x222d6ee 0x222d32b 0x222d057 0x221a7ce 0x5bd5172 0x58705c8 0x585e3d6 0x58cd4f5 0x5855efa 0x92ba377 0x92b87e8 0x98dd61c 0x90a72cf 0x9087c5b 0x90a5f2f 0x9085b64 0x9086087 0x2be0a32 0x95a1975 0x95a06a2 0x959d1cf

1 个赞

所以增加内存就欧克了?

估计配置问题

没有,放弃测试了,我测试的单租户,要是改内存又得重新测,测100thread就够了

什么配置问题?租户资源池?