大、中型互联网企业该如何进行高并发压力测试

云智慧产品总监陆兴海

在直播、电商、游戏等用户密集型互联网行业,访问并发数通常是非常大的,所以一般会采用产品逻辑优化,倒计时延后请求等方式来缓解瞬时的大并发,如银行系统繁忙提示使用其他支付方式,但这样并不能回避系统本身在压力下潜藏的性能问题。那么企业该如何正确发起高并发,如何知道该架构能支持多大的高并发呢?


这里需要明确一些概念:并发用户、在线用户和注册用户以及彼此之间的换算方法(估算模型)。系统的最大并发用户数根据注册用户数来获得,换算方法一般是注册总人数的5%-20%之间;系统的并发数根据在线人数来获得,换算方法一般是在30%左右;在线用户数理解为正在使用系统的用户数,而注册用户数是系统注册的人数,这个人数静态的。

测试压力估算时采用如下原则:

1、系统在线用户数取系统总用户数的20%;

2、系统在线用户并发数取在线用户数的30%;

云智慧压测宝给某个直播用户做了一次性能压测服务,达到了将近10万并发用户的要求,如下图所示:


压测宝目前已经能够满足大、中型互联网企业高并发压力测试需求,随着资源的不断增加,其压测能力还在迅速提升。

云智慧压测宝特点概览

除了全球分布式云端压测与应用性能管理产品透视宝深度融合进行问题诊断、支持大规模并发之外,压测宝还有很多特点:

[1]天然适应移动互联网

大多数互联网应用的业务过程都是通过调用自身或者第三方API来实现的,那么在业务上线之前,对API及其串接形成的业务过程进行压力测试是必不可少的。压测宝能够对后端服务的API请求及其调用过程进行定义及测试,通过对API调用过程的正确性、可用性及响应时间在大规模压力条件下以及分布式地域环境中的质量来评估后端服务保障到位与否。

[2]支持Percentile分析

Percentile是统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数,可表示为:一组n个观测值数值大小排列,如处于p%位置的值称第p百分位数。


实际上在Load Runner中就采用了这样的统计方法,因为在大数据量条件下,数据的筛选对分析的准确性尤为重要,压测宝也使用了这种方法来对事务或者请求进行详细的响应时间分析,如图所示,分析事务响应时间时系统默认提供了99%、95%、90%、80%选项,用户也可以自己定义百分位值。

[3]支持多协议类型的框架

压测宝默认支持的协议类型为HTTP/HTTPS,能够满足主流互联网用户的基本需求,但是某些金融和游戏类用户采用了特殊的Socket协议类型,此时如果需要支持的话,就需要在现有框架之上进行扩展,目前提供的框架机制如下图所示:


压测宝在整体框架设计上,包括整体的压测点资源调度、数据回传记统计分析、展现的逻辑使用的是同一套方案,只是在Agent数据采集与发送的时候用不同plugin来兼容不同socket协议,因为每家客户都会有自己的Socket协议封装,这种方式确保了系统的整体可扩展性。

[4]测试数据支持顺序和随机

执行测试任务时,为测试脚本准备的大量模拟数据,这些数据与脚本中的变量关联,能够在某个时段内产生尽量真实的测试结果。在压测宝中可以方便得通过导入excel文件来创建测试数据,如下图所示:


在压测任务中指定脚本时可以为该脚本绑定测试数据,同时可以指定测试数据的加载模式,包括顺序与随机。当测试数据条目数量大于并发用户时选择顺序加载,确保用户不重复,对某些不允许用户重复登录或者提交的场景很有效果。


[5]支持接口正确性判断

除了需要对接口的响应时间和可用性进行判断之外,还需要对事务或者接口的正确率进行验证,这里的正确率是指一段时间内,事务正确次数占事务总次数的百分比,即事务正确次数/事务总次数。

l事务正确:事务的所有请求都正确才为正确。

l请求正确:API接口断言正确则请求正确。

在大量并发的情况下,有时候系统会出现“脏数据、错误数据”的情况——虽然接口可用,但是其返回结果并不是预期的值,所以在压测的时候有必要对接口返回结果进行检测,如下图所示,通过压测宝脚本配置,可以很方便地进行断言匹配设定与脚本验证:



[6]按区域进行性能分析

分布式云端压测的一个特点是基于云端服务器在一段时间内发起大量并发,同时也体现了分布式用户对系统的真实访问情况,通过按区域分析,能够帮助用户了解不同区域发起的用户量以及每个区域的访问性能情况。


云智慧压测服务模式

因为压测与后端性能分析分析的复杂性,推荐客户使用云智慧的压测服务,通过“一站式”性能压测服务,帮助企业评估应用性能容量,发现全链路性能瓶颈,从而保障产品交付满足企业灵活多变的业务需求。

云智慧的压测服务包括:

1、性能检测:通过系统处理能力(TPS)、响应时间、并发用户支持、稳定时间等性能指标判断性能极限;

2、性能诊断:针对压测请求,对后端代码、服务器、数据库和主机性能进行分析诊断,定位性能瓶颈;

3、优化建议:针对应用架构、环境部署、代码开发及实施策略提供优化建议;

4、容量规划:基于压测数据和预测模型与业务发展趋势,提供容量规划建议。

云智慧建立了完整的压测服务体系,由性能测试专家组成服务团队,依托压力测试与性能管理平台为用户提供标准化压测服务,实现产品迭代全生命周期的性能持续改进:

1、需求沟通:进行需求调研和需求确认并完成《压测需求表》;

2、方案制定:确定压测场景和压测目标,沟通确认《压测方案说明书》;

3、部署实施:根据压测方案准备压测场景与资源,定制压测任务并在指定时间实施压测;

4、分析报告:实时跟踪压测进程,并对压测结果进行分析,结合性能管理产品深入解析应用后端性能,完成《性能分析总结报告》并提出问题处理建议;

云智慧的服务理念是与用户一起成长,在过几年里,云智慧监控宝、透视宝伴随着用户在不断进步,相信压测宝的产品和服务也能为更多的小伙伴提高效率节约成本,帮助大家加速发展!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容