使用sysbench进行mysql的oltp测试,一般的测试在sysbench中在tests/db中提供了一个oltp.lua脚本可以进行oltp的压力测试。 但不能完全模拟自己实际业务的压力测试,不同的业务,数据结构,数据量都是不一样的,为了更接近实际业务的读写压力测试,就得自己写l
使用sysbench进行mysql的oltp测试,一般的测试在sysbench中在tests/db中提供了一个oltp.lua脚本可以进行oltp的压力测试。
但不能完全模拟自己实际业务的压力测试,不同的业务,数据结构,数据量都是不一样的,为了更接近实际业务的读写压力测试,就得自己写lua脚本,然后通过sysbench进行压力测试。
写这个lua脚本很简单,只需要会写lua脚本就可以了。
1 2 3 4 |
|
举个小例子
模拟实际业务环境:
1 2 3 4 5 |
|
插入模拟的际业务数据:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
set_vars()? 如果需要使用更多的参数,需要执行这个,前面需要引用下common.lua
db_connect()?? 是连接数据库的,这个是sysbench里的函数,不管那么多,直接用就行。
thread_init()? 第一个调用的lua函数
event(thread_id) ? 可以把sql逻辑写到这里, ? –num-threads多少个,就会同时调用多少个
然后进行压测就ok
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
sysbench具体的使用、结果解读可以参数下
http://imysql.com/2014/10/17/sysbench-full-user-manual.shtml
原文地址:sysbench自定义lua脚本实现实际的业务逻辑压力测试, 感谢原作者分享。