博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《大型网站服务器容量规划》一3.2 通过压力测试规划容量
阅读量:7007 次
发布时间:2019-06-27

本文共 790 字,大约阅读时间需要 2 分钟。

本节书摘来异步社区《大型网站服务器容量规划》一书中的第3章,第3.2节,作者: 郑钢 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.2 通过压力测试规划容量

为了获得系统的容量,专业一点的公司都会让运维人员搭建一套线下的测试环境,让QA在线下测试,通过压力测试并结合监控来找出系统的极限值。最常见的压力测试工具有ab(Apache Bench)和Jmeter,它们是Apache项目提供的,可以在Apache官网中找到,还有LoadRunner也很不错。

虽然压力测试是以实际请求来度量容量,看似是最真实的,但这种做法其实并不准确,因为系统的实际压力负载和业务对应的具体指令紧密相关,而压力测试通常仅做一次,其结果仅与当时的业务代码相匹配,但凡有新代码上线后,由于涉及代码不同,其对应的指令通常也会不同,因此之前所做的压力测试便被推翻了。

也许有读者说,可以让QA人员每次都在新代码上线前都做回归测试。其实这一点并不靠谱,这说明不了解QA的工作。压力测试中要检查(也称回归测试)的测试用例非常多,这需要QA人员极大的耐心,而且线下测试机往往用淘汰下的机器,其性能与线上服务器的性能差别很大,这注定了测试结果的不准确性。

既然压力测试也不完全靠谱,那应该怎么做呢?有的公司是这样做的,用真实流量导向待测试的服务器,也就是用线上实际压力去做压力测试,观察机器负载或日志,直到出错为止。

如果集群中原本有10台服务器,先去掉其中的4台服务器,只让剩下的6台服务器提供服务,测试人员通过观察机器压力负载或日志中输出的信息等手段来判定服务的稳定性。如果服务正常的话,继续从集群中下掉一些服务器,直到服务器压力越来越大,线上业务报错为止。毋容置疑,这肯定是最真实的测试结果。当然这需要魄力,哈哈……反正我不敢,无论业务是多么不重要,也不能牺牲用户体验来测试极限容量。

转载地址:http://ddftl.baihongyu.com/

你可能感兴趣的文章
Android Weekly Notes Issue #222
查看>>
CAD字体显示问号的解决办法
查看>>
微信支付开发(1) JS API支付V3版(转)
查看>>
利用tween,使用原生js实现模块回弹动画效果
查看>>
InfluxDB源码目录结构解析
查看>>
Mysql连接错误:Lost connection to Mysql server at 'waiting for initial communication packet'
查看>>
使用hosts.allow和hosts.deny实现简单的防火墙
查看>>
Javascript将字符串日期格式化为yyyy-mm-dd的方法 js number 类型 没有length 属性 string类型才有...
查看>>
磁波刀和海扶刀的区别
查看>>
MYSQL MVCC实现及其机制
查看>>
mysql 锁的粒度
查看>>
植物大战僵尸,建议加一个feature,抖一抖就把所有太阳都收了
查看>>
我们常见的数组
查看>>
Posts tagged pyqt4
查看>>
[zz]GDB调试精粹及使用实例
查看>>
iOS版本更新的方法
查看>>
ListView_split 分割
查看>>
在32位windows 7下安装PyLucene
查看>>
新闻站点程序
查看>>
自己工资自己算,策略设计模式(Strategy)
查看>>