- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
图文08生产经验:在数据库的压测过程中,如何360度无死角观察机器性能?手机观看
410人次阅读2020-02-0408:08:55
详情评论
生产经验:在数据库的压测过程中,如何360度无死角观察机器性能?
如何提问:每篇文章都有评论区,大家可以尽情留言提问,我会逐一答疑
如何加群:购买狸猫技术窝专栏的小伙伴都可以加入狸猫技术交流群,一个非常纯粹的技术交流的地方
具体加群方式,请参见目录菜单下的文档:《MySQL专栏付费用户如何加群》(购买后可见)
1、除了QPS和TPS以外,我们还需要观察机器的性能
上一篇文章我们给大家讲解了如何使用sysbench这个工具非常方便的去对数据库进行压测,压测过后其实大家就会看到自己
的数据库大概能抗下多少QPS和TPS了。
但是这里还得给大家说另外一个压测时的技巧,就是上一篇文章里我们是使用了10个线程去压测数据库,如果你的机器性能很
高,然后你觉得10个线程没法压测出来数据库真实的最高负载能力,你其实可以在sysbench中不停的增加线程的数量,比如
使用20个线程,甚至100个线程去并发的访问数据库,直到发现数据库的QPS和TPS上不去了。
当然,这个不停的提高线程数量,不停的让数据库承载更高的QPS的过程,还需要配合我们对机器性能表现的观察来做,不能
盲目的不停的增加线程去压测数据库。
这篇文章,我们就是要讲解在压测过程中,如何同时观察机器的性能表现,从而来决定是否要继续增加线程数量去压测数据
库。
2、为什么在不停增加线程数量的时候,要密切关注机器性能?
我们先来解答一个问题,就是在压测的时候我们需要不停的增加线程的数量去让数据库承载更高的QPS,一直到最后看看数据
库到底最高可以承载多高的QPS。
那么在这个过程中,为什么必须要密切的关注机器的性能呢?
我们来给大家举两个例子,相信大家看完就明白这个问题了。
首先,假设数据库当前抗下了每秒2000的QPS,同时这个时候机器的CPU负载、内存负载、网络负载、磁盘IO负载,都在正
常的范围内,负载相对较高一些,但是还没有达到这些硬件的极限,那么我们可以认为这台数据库在高峰期抗到每秒2000的
QPS,是没有问题的。
但是如果你一直不停的在压测过程中增加sysbench的线程数量,然后数据库此时勉强抗到了每秒5000的QPS了,但是这个时
候你发现机器的CPU已经满负荷运行了,内存使用率特别高,内存都快要不够了,然后网络带宽几乎被打满了,磁盘IO的等待
时间特别长,这个时候说明机器已经到了极致了,再搞下去,机器都快挂了。
所以这个时候你压测出来的5000QPS是没什么代表性的,因为在生产环境根本不可能让数据库抗下这么高的QPS,因为到这
么高的QPS就说明你的数据库几乎已经快要挂掉了,这是不现实的。
所以说,在压测的过程中,必须是不停的增加sysbench的线程数量,持续的让数据库承载更高的QPS,同时密切关注机器的
CPU、内存、磁盘和网络的负载情况,在硬件负载情况比较正常的范围内,哪怕负载相对较高一些,也还是可以继续增加线程
数量和提高数据库的QPS的。
然后当你不停的增加线程数量,发现在数据库抗下一个QPS的数值的同时,机器的CPU、内存、网络和磁盘的负载已经比较高
了,到了一个有一定风险的临界值的了,此时就不能继续增加线程数量和提高数据库抗下的QPS了。
接着我们今天就来给大家分析一下,在压测的过程中,需要使用哪些linux命令去观察机器的性能情况,以及机器的CPU、内
存、磁盘和网络在什么样的负载下是正常的,在什么样的负载下就是比较危险的了。
3、压测时如何观察机器的CPU负载情况?
先来看一个最最常用的监测linux机器性能的命令,就是top命令,直接在linux命令行只能够输入top指令就可以了,然后我们
这里来给大家解释一下,top指令展示出来的各种信息都是什么意思。
首先我们会看到如下一行信息:
top-15:52:00up42:35,1user,loadaverage:0.15,0.05,0.01
先来解释一下这行信息,这行信息是最直观可以看到机器的cpu负载情况的,首先15:52:00指的是当前时间,up42:35指的是
机器已经运行了多长时间,1user就是说当前机器有1个用户在使用。
最重要的是loadaverage:0.15,0.05,0.01这行
您可能关注的文档
- 从0开始带你成为MySQL实战高手03 用一次数据更新流程,初步了解InnoDB存储引擎的架构设计.pdf
- 从0开始带你成为MySQL实战高手04 借着更新语句在InnoDB存储引擎中的执行流程,聊聊binlog是什么.pdf
- 从0开始带你成为MySQL实战高手06 生产经验:互联网公司的生产环境数据库是如何进行性能测试的.pdf
- 2025年家居收纳用品行业分析报告.docx
- 2024-2025学年上海嘉定区初三一模语文试卷及答案.pdf
- 水冷金属型离心球墨铸铁管管模使用维护保养规则.docx
- 2025中温模型蜡第2部分:填充型.docx
- 2025金属材料三体磨料磨损试验方法.docx
- 2025风电机组用球墨铸铁件订货技术条件.docx
- 2025中温模型蜡第1部分:非填充型.docx
文档评论(0)