四、关于生产环境下的MySQL(中)(sysbench 压测)

上一章简述了 利用 sysbench 进行测压时,数据库能抗下多少 QPS, TPS等数据库服务器的指标。
但是本质上 如果你的机器性能特别好。可能你采用 10个 线程 ,20个线程等,是无法测试出数据库的最高负载能力。

那么,我们可以通过不断增加线程数量,同时观察机器的性能。让数据库去承载更高的QPS

四、关于生产环境下的MySQL(下)(sysbench 压测)

4-1 为什么我们在不停增加线程数的时候,要密切关注机器性能?有什么意义呢?

  • 首先 不断增加线程数,可以测试出数据库能承载更高的QPS。
  • 至于密切关注机器性能。
        首先假设你的数据库当前测试下QPS是1500。此时你的 CPU、内存、IO、网络 负载都处理合理范围内且偏高(硬件还没到极致)
        但是如果你不断增加线程,此时数据库可以抗下QPS 2500 ,但是此时CPU、内存、IO、网络 已经满负载了,此时机器都快挂了。你此时说 机器能抗下QPS 2500是没有实际意义的。(生产环境根本扛不住)。
         所以在测试中,可以不断加线程 提高QPS,同时关注机器指标。当到达一个临界值时,就不能继续增加线程数了。

4-2 如何观察 CPU、内存、磁盘IO、网络负载的情况

  • CPU: 可以利用 top命令进行观察。
    在这里插入图片描述
    top - 13:04:13 up 2:26, 1 user, load average: 0.33, 0.34, 0.36

    • 13.04.13 是当前时间
    • up 2:25 表示 运行了2.25个小时
    • 1 user 表示 只有一个用户在使用
    • load average 0.32 0.34 0.36 表示 CPU 最近 1 分钟 5分钟 15分钟内的平均负载数值
    • 关于负载数值:负载=1,表示CPU中的一个核心已经跑满了。
  • 内存负载情况 : 同样使用 top命令查看
    在这里插入图片描述
    KiB Mem : 10060320 total, 6279428 free, 2598168 used, 1182724 buff/cache

    • 总大小为 10060320 KB, 空闲 6279428 KB, 缓冲区: 1182724KB
    • 如果你内存到达 70~80 % 就差不多了
  • 磁盘IO情况: 使用 dstat 命令 (如果没有安装 请自行安装)

    • 磁盘IO吞吐量: 使用 dstat -d
      在这里插入图片描述
      上图表示磁盘每秒 读取数据量 和 写入数据量

    • 磁盘的IOPS: 使用 命令 dstat -r
      在这里插入图片描述
      上图表示 随机磁盘读取每秒多少次,随机磁盘写入每秒多少次

    • 候密切观察机器的磁盘IO情况,如果磁盘IO吞吐量已经太高了,都达到极限的每秒上百
      MB了,或者随机磁盘读写每秒都到极限的两三百次了,此时就不要继续增加线程数量了,否则磁盘IO负载就太高了。

  • 网络负载: dstat -n
    在这里插入图片描述

    • 表示每秒通过网卡发送多少kb,接收了多少kb
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值