没有流量,产品烦恼;流量太大,开发人员困扰。川普胜选瘫痪了加拿大移民局网站,双十一的购物热潮也影响了众多网站服务的速度,每一次大事件都给服务器带来了无上的压力。在流量高峰的日子里,购物,狂欢,是其余人的事情;定位风险,预防风险,才是测试人员的使命。php
北京时间2016年11月9日,周三,美国共和党参选人川普(Donald Trump)赢得了美国大选,成为了新的一届美国总统。而后,发生了一件有趣的事,加拿大移民局官网瘫痪了! html
网站上写着:“使用该网站可能面临延迟现象,咱们正尽力排除问题,感谢您耐心等候”
缘由是有至关一部分美国人表示若是川普当选,他们就要移民加拿大,而此时一位加拿大议员就将自家移民局的网站连接发了出去,而后悲剧就产生了……chrome
从美国东部时间星期二8点至半夜,谷歌上“如何搬去加拿大”点击量暴增1500%。到了周三凌晨,加拿大移民局官网完全瘫痪……不过,福克斯新闻网也表示,这很正常,每次大选加拿大移民局网站都会迎来一场移民申请高峰。浏览器
每四年的十一月都有一次访问高峰给服务器带来了巨大的压力。这熟悉的场景好像咱们每一年都有?
在美国,这现象叫作“美国大选”,在中国,咱们叫“双十一”……服务器
2009年,当时还叫“淘宝商城”的天猫在11月11日举办了促销活动,活动的初衷很简单,天猫想要营造一个属于本身的节日,选在这一天的缘由也很简单,由于光棍节正好处在十一黄金周和圣诞促销中间,而这时候天气变化正是人们添置冬装的时候。双十一的活动戳中的用户的心理,也掀起了电商圈的一股惊涛骇浪。 cookie
从2009到2015年,天猫的双十一活动交易额从0.5亿上升到了900亿,近两年都可以近乎翻倍的增加,从2012年支付宝交易额达到191亿元打破了全球网购单日销售记录;到2013年55秒交易额突破1亿;再到2014年13小时打破2013年的交易额,天猫每一年都在创造记录。架构
然而,双十一的活动也不历来都是一路顺风的,每每在双十一开始的最高峰时期,支付宝也不止一次的出现过故障的状况,同加拿大移民局的网站面对申请高峰出现故障同样,订单的瞬间暴增会形成多家网银没法经过支付宝支付的现象。分布式
在使用了云计算的状况下,支付宝这类业内一流的架构在高峰期仍然遇到巨大的挑战。 为了保证企业业务在访问高峰时期依然可以正常运行,不影响用户体验和企业收入,在”用户暴涨“的时间节点以前对产品服务器进行预先的测试是很是必须的,那么,应该如何进行测试呢?性能
在通常的电商系统中,功能上有搜索,聊天,下单,付费,收货,评价等诸多功能,对系统都会产生不同的压力,要对自身的业务进行剖析,权重最高的是哪一个,风险最高的是哪一个,从而进行设计相对应的测试策略。为了检验电商网站自身系统性能,就须要对服务器反复的测试与回归,力求实现最真实的用户访问场景。腾讯WeTest服务器性能测试(http://wetest.qq.com/gaps )的“全局参数化设置”与”上下文变量设置“功能帮助用户实现了模拟用户的访问场景。测试
腾讯WeTest服务器性能测试的“全局参数化“实现的是经过自动更改”index“字段中的参数,实现遍历电商平台上全部商品页面,对电商平台上全部的商品页面模拟真实的用户压力。
一、点击右上角的“全局参数化“的设置按钮,开始设置全局参数化
二、点击“添加“,添加参数,将参数名修改成想要测试的字段,好比上面的”index“字段。另外参数化形式中有”自增“、”随机值“和”定长“三种配置方式。
“自增“能够设置”最大值“和”最小值“,好比最小值设置1,最大值设置100,就能够自定义服务器压力,遍历电商平台上参数值为1-100的全部商品;
“随机值“能够实如今自定义范围内随机对某商品页面进行压力测试;
“定长“经过设置必定长度下的数值,在这个范围内的全部商品页面进行随机的压力测试,好比定长设置为3,则会在”000-999“”aaa-zzz“之间进行随机的压力测试。
“全局参数化“能够设置”自增“、”随机值“和”定长“三种形式
“全局参数化“下的”定长“参数设置
具体操做可见以下动图:
“上下文变量设置“实现的是将用户登陆的所包括的用户信息传输到下一个页面中,对于电商平台来讲,一般表明的是用户在登陆以后,点击了”购买“,带着用户的登陆信息,进入了购买页面。
一、经过腾讯WeTest服务器性能测试,在“客户端请求“点击”上下文变量“,开始配置
二、“上下文变量设置“是为了实现URL之间参数信息的传递,所以须要点击右下角的”+一个URL请求“增长一个URL,而后保证第一个URL的”变量名“与第二个URL的字段保持一致
三、“提取方式“一般选择”键值对“较多(具体使用可根据实际状况),选择想要传递信息的”header名称“,肯定”提取规则“。”提取规则“中所填写的就是传递到下一个页面的信息,好比电商平台用户的会员信息。
那么”提取规则“应该填写什么呢?咱们须要在URL页面中去寻找这个”键值“。
首先在chrome浏览器中输入第一个URL,点击F12,点击Network,刷新一下页面以后点击最左侧的”setcookie_prep.php“,找到对应的header“Set-Cookie“,后面order_id后的值,就是咱们将要传输给下一个URL的信息。
四、完成了”上下文变量“的设置以后,在“测试模型“中的场景中选择”上下文“模式,分别输入两个URL。
五、若是自有服务器,则能够在“服务器监控“的”添加监控“中设置服务器信息;若是没有,则能够点击”当即执行“开始测试
具体操做可见以下动图:
对电商平台来讲,要进行压测的部分不止是遍历全部商品页还有模拟真实用户购买那么简单,还会有搜索,聊天,收货,评价等更多的功能,本文但愿经过以上两个简单的范例,让你们了解到如何剖析自身的业务特色,而后根据不一样的特色去测试各自的场景,力求达到最真实的用户访问状况,也为可能出现的火爆状况作好准备,避免出现加拿大移民局网站的悲剧,也避免让电商平台的买家由于没法付款而流失。
作好这些,才能作出更好的电商网站。
在流量高峰的日子里,购物,狂欢,是其余人的事情;定位风险,预防风险,才是测试人员的使命。
腾讯WeTest运用了沉淀十多年的内部实践经验总结,经过基于真实业务场景和用户行为进行压力测试,帮助游戏开发者发现服务器端的性能瓶颈,进行针对性的性能调优,下降服务器采购和维护成本,提升用户留存和转化率。
功能目前免费对外开放中,欢迎你们的体验
体验地址:http://wetest.qq.com/gaps/
若是对使用当中有任何疑问,欢迎联系腾讯WeTest企业qq:800024531
参考文章:
解密天猫双十一的发展历程 今年又有什么新鲜事儿?
http://sz.winshang.com/news-544595.html
逃不掉的双十一 可怕的分布式架构隐患,
http://server.it168.com/a2014/1112/1681/000001681959.shtml
加拿大移民局官网瘫痪!是由于这群“川普难民”…
http://www.fr-cn.fr/china/news/18761.html
加拿大移民官网瘫痪,美国“川普难民”也要来加拿大
http://www.andyyimin.com/AU/news/588.html