mysql压测

之前说了磁盘的压测。也就顺便记录下MySQL的压测。

show global status like '%Question%';这是一个累加的值。记录MySQL启动到现在的查询数。

show global status like '%Uptime%';累加值,记录MySQL启动的秒数。

直接status,最下面有个Queries per seconds avg。就是用上面两个数据相除。

当然,这样的 QPS其实是没有意义的。只是个平均的值。

 

而怎么查看当前的QPS哪?

mysqladmin extended-status -i 1 -r | grep -i Question 

-i 时间间隔,-r显示差值。这样就计算出了当前的QPS。

当然,更简单的是看监控,比如我最喜欢的Prometheus。但是监控也不是万能的,说不定就出问题了。

 

至于TPS。我觉得这是一个和业务强相关的数据。你说有意义也算有意义。没有意义也说得通。这个指标还是看自己的业务需求吧。

 

sysbench测试我在这里不做过多介绍,因为太简单了。我想聊的是其他。

 

cpu,使用top后按1.查看你当前cpu的全部核心是不是跑满了。没有跑满说明你的压测发压不够,要把线程数调大。

然后你show status like 'thread_running'。就能看见正在使用的线程。

至于thread_connected只是连接上的。包括没有使用的连接。简单来说就是包括sleep状态的线程。

然后看一下你的thread_handling参数,正常one-thread-per-connection。就是你show processlist出来,有多少个连接,MySQL就起了多少个线程。pool-of-thrads应该没有人用,只是用来限流,或者让MySQL整体比较稳定(ps:percona版本)限流还是消息队列去做吧。

 

posted @ 2022-06-26 23:25  拿什么救赎  阅读(77)  评论(0编辑  收藏  举报