GBase 8s
其他
问答

如何使用sysbench测试GBase 8s(兼容Oracle),能否提供GBase适配过的sysbench工具包?

发表于2023-12-14 10:55:11451次浏览12个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:GBase 8s(兼容Oracle)

【操作系统】:

【CPU】:

【问题描述】*:如何使用sysbench测试GBase 8s(兼容Oracle),能否提供GBase适配过的sysbench工具包?

评论

登录后才可以发表评论
用户头像
曾阿牛发表于 2年前
安装
1、拷贝sysbench安装包到服务器,并进行解压tar –zxvf
2、解压完成后,给解压文件赋相应的权限。
3、执行./autogen.sh
4、执行./configure --with-gbase8s --without-mysql --with-debug
5、安装数据库及csdk(CSDK和数据库安装到同一路径)
6、root用户加载gbase环境变量信息

7、执行make install

测试运行
cd sysbench/src 执行

加载数据:
./sysbench ./lua/oltp_read_write.lua --gbase8s-dsn=odbc_demo --gbase8s-db=sysbench --db-driver=gbase8s --tables=30 --table-size=1000000 --threads=10 prepare
运行场景:
./sysbench ./lua/oltp_read_write.lua --gbase8s-dsn=odbc_demo --gbase8s-db=sysbench --db-driver=gbase8s --tables=30 --table-size=1000000 --report-interval=60 --threads=500 --time=600 run
清除数据:
./sysbench ./lua/oltp_read_write.lua --gbase8s-dsn=odbc_demo --gbase8s-db=sysbench --db-driver=gbase8s --tables=30 --table-size=1000000 --threads=10 cleanup
以上示例为读写混合场景
只读场景只需将第一个参数换成oltp_read_only.lua
只写场景只需将第一个参数换成oltp_read_write.lua
GBase用户14063发表于 2年前
@曾阿牛:请问从哪里可以获取适配gbase8s的sysbench工具包
GBase用户25505发表于 1年前
@GBase用户14063:您好,请问可以分享一下适配gbase的sysbench吗?谢谢您。我的邮箱:471398907@qq.com
GBase用户14063发表于 2年前
@曾阿牛:可以回复一下吗,没有适配过gbase的sysbench安装包,编译的时候是没有--with-gbase8s这个参数的;编译不了的话,您回复的一系列操作步骤都执行不了,可以提供相应工具包吗
用户头像
曾阿牛发表于 2年前
@GBase用户14063:留个联系方式,我网盘给你
GBase用户25505发表于 1年前
@曾阿牛:您好,请问可以分享一下适配gbase的sysbench吗?谢谢您。我的邮箱:471398907@qq.com
Gabriel发表于 1年前
@GBase用户25505:通过网盘分享的文件:sysbench for 8s
链接: https://pan.baidu.com/s/1aodrRyxuHc8KZEWic89eqA 提取码: brwm
最佳回答
GBase用户25505发表于 1年前
@Gabriel:好的,谢谢您
刘冠举发表于 1年前
@GBase用户25505:先配置好ODBC连接,再配置运行sysbench。
GBase用户25505发表于 1年前
@刘冠举:您好,我已经将/usr/local/share/sysbench/oltp_common.lua中的datadbs改为数据库db_perf_test中的datadbs1,

query = string.format([[
CREATE TABLE sbtest%d(
id %s,
k INTEGER DEFAULT %s NOT NULL,
c CHAR(120) DEFAULT '' NOT NULL,
pad CHAR(60) DEFAULT '' NOT NULL
)in datadbs1]],
table_num, id_def, integer_default_def )

con:query(query)

query = string.format([[
CREATE INDEX idx_sbtest%d ON sbtest%d(id) in datadbs1]],
table_num,table_num)

con:query(query)

可以建表成功,但是无法创建索引,原因是创建索引时的datadbs1不知道为啥变成了datadbs2,请问这是什么原因:
下面是运行结果:

[root@localhost sysbench-master]# isql -v odbc_demo
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
[root@localhost sysbench-master]#
[root@localhost sysbench-master]# ./src/sysbench ./src/lua/oltp_read_write.lua --gbase8s-dsn=odbc_demo --gbase8s-db=db_perf_test --db-driver=gbase8s --tables=1 --table-size=100 --threads=1 prepare
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)

Creating table 'sbtest1'...
FATAL: check_error thread_id=0 gbase8s_drv_query:SQLExecDirect returned error -212 ([GBasedbt][GBasedbt ODBC Driver][GBasedbt]不能增加索引。) for query 'CREATE INDEX idx_sbtest1 ON sbtest1(id) in datadbs2'
FATAL: `sysbench.cmdline.call_command' function failed: ./src/lua/oltp_common.lua:220: SQL error, errno = -212, state = 'HY000': [GBasedbt][GBasedbt ODBC Driver][GBasedbt]不能增加索引。
[root@localhost sysbench-master]#
GBase用户25505发表于 1年前
@Gabriel:您好,我已经将/usr/local/share/sysbench/oltp_common.lua中的datadbs改为数据库db_perf_test中的datadbs1,

query = string.format([[
CREATE TABLE sbtest%d(
id %s,
k INTEGER DEFAULT %s NOT NULL,
c CHAR(120) DEFAULT '' NOT NULL,
pad CHAR(60) DEFAULT '' NOT NULL
)in datadbs1]],
table_num, id_def, integer_default_def )

con:query(query)

query = string.format([[
CREATE INDEX idx_sbtest%d ON sbtest%d(id) in datadbs1]],
table_num,table_num)

con:query(query)

可以建表成功,但是无法创建索引,原因是创建索引时的datadbs1不知道为啥变成了datadbs2,请问这是什么原因:
下面是运行结果:

[root@localhost sysbench-master]# isql -v odbc_demo
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
[root@localhost sysbench-master]#
[root@localhost sysbench-master]# ./src/sysbench ./src/lua/oltp_read_write.lua --gbase8s-dsn=odbc_demo --gbase8s-db=db_perf_test --db-driver=gbase8s --tables=1 --table-size=100 --threads=1 prepare
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)

Creating table 'sbtest1'...
FATAL: check_error thread_id=0 gbase8s_drv_query:SQLExecDirect returned error -212 ([GBasedbt][GBasedbt ODBC Driver][GBasedbt]不能增加索引。) for query 'CREATE INDEX idx_sbtest1 ON sbtest1(id) in datadbs2'
FATAL: `sysbench.cmdline.call_command' function failed: ./src/lua/oltp_common.lua:220: SQL error, errno = -212, state = 'HY000': [GBasedbt][GBasedbt ODBC Driver][GBasedbt]不能增加索引。
[root@localhost sysbench-master]#
飞影发表于 8个月前
@Gabriel:链接已失效,能在提供下吗?