KunlunBase功能体验范例

KunlunBase功能体验范例
摘要由CSDN通过智能技术生成

1.数据库的容量测试

  • 相关性能测试推荐使用sysbench,详情可参考:https://github.com/akopytov/sysbench/blob/master/README.md

    • 相关的sysbench选项可以参考:https://github.com/akopytov/sysbench/blob/master/README.md#general-command-line-options
  • 容量测试可以在安装sysbench后使用以下命令进行

sysbench oltp_point_select        \
      --tables=[共有几张数据表]                   \
      --table-size=[每张数据表要灌的数据量,推荐至少为 10000000]           \
      --db-driver=[pgsql/mysql]             \
      --pgsql-host=[host]        \
      --pgsql-port=[port]             \
      --pgsql-user=[userNmae]         \
      --pgsql-password=[userPwd] \
      --pgsql-db=[dbName]           \
      prepare

2.写入性能测试case

  • 当前sysbench关于写入性能相关的测试case有 read_write、update_index、update_non_index、write_only、insert

  • 命令可以参考

sysbench oltp_${
   case} \
--tables=${
   tables} \
--table-size=${
   tb_size} \
--db-ps-mode=disable \
--db-driver=[pgsql/mysql] \
--pgsql-host=${
   host} \
--report-interval=[间隔s报告一次结果] \
--pgsql-port=${
   port} \
--pgsql-user=${
   user} \
--pgsql-password=${
   pwd} \
--pgsql-db=${
   db} \
--threads=${
   threads} \
--time=${
   tim} \
--rand-type=uniform 
run 

3.查询性能 ,多表 join

  • 当前sysbench关于查询性能相关的测试case有 read_only、point_select
    • 相关命令可以参考第二步
  • 当前版本sysbench并不支持多表join,因此我们需要自定义lua测试脚本
    • 以下是简单范例,可以根据需求自行修改
    • vim oltp_mutli_join.lua
require("oltp_common")

function thread_init()
drv = sysbench.sql.driver()
con = drv:connect()
end

function thread_done()
con:disconnect()
end

function event()
local tableNum1
local tableNum2
local rs

tableNum1 = math.random(1,sysbench.opt.tables)
tableNum2 = math.random(1,sysbench.opt.tables)

local table1 = "sbtest" .. tableNum1
local table2 = "sbtest" .. tableNum2

local id = math.random(1,sysbench.opt.table_size)

-- db_query("begin")
rs = db_query("SELECT a.k FROM " .. table1 .. " a left join " .. table2 .. " b ON a.id = b.id WHERE a.id= " .. id)
-- db_query("commit")

end
  • 在自定义脚本中,必须要提供thread_init() thread_done() event()这三个函数
    • event()就是要运行的测试函数
    • sysbench.opt.tables 则是在运行脚本时传入的–tables 参数,sysbench.opt.table_size是–table_size参数。其它传入的参数都可以通过sysbench.opt来获取
    • db_query就是要运行的sql语句,在event()方法中,有一个db_query,则运行中TPS=QPS/1。有n个db_query,则运行中TPS=QPS/n
    • 不可以在自定义的lua脚本里面使用print(),否则不会产生结果
  • 使用sysbench运行自定义lua脚本
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值