sysbench测试mysql_使用sysbench压力测试MySQL(二)

昨天有了第一篇的测试之后,仅仅是一个开始。

我接下来做sysbench压测的主要思路是根据现有的配置作出调整,能够持续性的优化和压力测试达到目的,而不是简单的去对比连接数在不同数量级会有多大的差别,所以你会在里面看到一些问题的排查,一些问题的解决,可能有些又不是压测相关的。

压测连接数300跑不上去

我设置了max_connections为3000,但是压测的时候到了300个线程就跑不上去了。这个问题很有典型性。

sysbench抛出的错误如下:

FATAL: mysql_stmt_prepare() failed

FATAL: MySQL error: 1461 "Can't create more than max_prepared_stmt_count statements (current value: 16382)"

FATAL: `thread_init' function failed: /usr/local/share/sysbench/oltp_common.lua:282: SQL API error

MySQL的错误日志信息如下:

2017-03-14T15:01:57.839154Z

348 [Note] Aborted connection 348 to db: 'sysbenchtest' user: 'root'

host: 'localhost' (Got an error reading communication packets)

2017-03-14T15:01:57.839185Z

346 [Note] Aborted connection 346 to db: 'sysbenchtest' user: 'root'

host: 'localhost' (Got an error reading communication packets)

看起来两者关联不大,所以有些信息就会有一些误导了。

根据错误的信息,当前的参数max_prepared_stmt_count设置值为16382,是安装后的默认值。

mysql> show variables like 'max_prepared_stmt_count';

+-------------------------+-------+

| Variable_name           | Value |

+-------------------------+-------+

| max_prepared_stmt_count | 16382 |

+-------------------------+-------+

而packet的参数设置为4M的样子,也是默认值

mysql> show variables like '%pack%';

+--------------------------+------------+

| Variable_name            | Value      |

+--------------------------+------------+

| max_allowed_packet       | 4194304    |

| slave_max_allowed_packet | 1073741824 |

+--------------------------+------------+

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值