在日常售后工作中, 常常需要对一些网站进行简单的压测, 以判断网站的可用性.
经常遇到用户来反馈 CDN 下载异常, 其实有很大的一种可能就是用户在更新之前没有进行预热, 所有用户在通过 CDN 访问时, 由于 CDN 没有预热, 就会从源站拉取资源, 但是源站的带宽以及性能无法支撑多个 CDN 节点拉取源站资源时, 这个时候就会出现下载异常. 此时通过压测源站就能够发现源站性能异常.
本文提供两种简单的网站压测脚本, 能够快速的针对源站进行 HTTP 或 HTTPS 请求的压测. 工具的下载可以到 https://github.com/suxin1110/CDNSourceTest GitHub https://github.com/suxin1110/HTTPStressTesting 上下载或直接在系统中运行如下命令进行下载.
Git clone https://github.com/suxin1110/HTTPStressTesting.git
下载后会有两个脚本文件:
simple_stresstesting.sh 该脚本为一个简单的脚本测试工具, 效率相对来说比较高
stresstesting.sh 该脚本为较为复杂的网站压测工具, 需要执行 proxy 进行测试.
simple_stresstesting.sh 运行指南
simple_stresstesting.sh 运行
运行该脚本后面跟多个变量, 第一个变量需要输入压测请求的次数, 后面的变量需要填写网站的 url 以及 proxy 等代理请求. 可以自行根据 curl -I 网站 url 可以添加的参数自行进行测试.
simple_stresstesting.sh 压测结果展示
压测结束后会展示返回的状态码等统计信息.
stresstesting.sh 运行指南
该脚本由于是要指定代理网站的 IP 等信息, 会区分 https 请求和 http 请求, https 请求测试截图:
HTTPS 请求测试入参
按照要求填写对应的信息后即可进行测试.
统计结果如图所示:
HTTPS 压测 结果统计
http 请求测试方法如下:
HTTP 请求 入参
统计结果如下:
HTTP 请求测试结果
来源: https://www.qcloud.com/developer/article/1459461