作者:牛小胖
链接:https://www.zhihu.com/question/46440615/answer/232684838
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
简单说一下微信公众号方面压测问题。
微信压测的主要门槛在于网页的授权,由于一般压测的客户端访问微信,往往要经过微信的客户端验证,如果没有网页授权,很难真实的模拟使用的场景。
为了能够实现微信网页鉴权相关产品的压测,我们需要基于微信开放平台提供的API接口,实现了一套模拟微信的网页鉴权的mocksvr服务器。需要做以下两步操作(下面我以腾讯的压测工具”WeTest压测大师“为例):
一. 被测服务器的Host信息设置
为了能够让网页鉴权过程中访问微信的API,改成访问wetest的mocksvr服务器,需要用户在自己的被测服务器上做下Host信息修改,从而能够让Dns域名解析时解析到wetest的mocksvr服务器上,具体修改如下:
linux服务器上,打开/etc/hosts文件,追加两行记录:
111.231.37.144 http://open.weixin.qq.com
111.231.37.144 http://api.weixin.qq.com
同样,如是windows服务器,打开 C:\Windows\System32\drivers\etc\hosts 文件,将上面两行配置信息加进去即可
二. 测试用例配置
- 进入压测大师首页,选择一个已有的项目进入,如没有项目可以新建项目
2.创建一个新的URL测试,如下图:
3.填写测试用例信息:
- 人数设置
根据微信广告提供的压测测试要求:
在进行一跳测试时,人数设置为:
这里当配置人数大于400时,为防范非法攻击等现象,需要对被测域名进行认证,点击域名认证按照提示认证即可
二跳测试时,人数设置为:
- 客户端请求设置
这里填写自己被测的URL地址,除此之外,需要注意的是,由于我们是模拟移动端发起测试,客户端请求中,我们要设置一个User-Agent的header,值为:Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2
测试用例编写完成以后,记得点击保存设置按钮,想了解更详细的URL测试配置,可参看如何进行URL测试 这篇文章
大功告成!接下来,我们就可以点击测试,发起刚刚建立的测试用例了