• 压测工具


    0, https://www.cnblogs.com/TankXiao/p/4045439.html

    1, ab是apachebench命令的缩写。

          ab是一个httpd自带的很好用的压力测试工具,ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问

    2, 如果不想安装apache但是又想使用ab命令,可以直接安装apache的工具包httpd-tools。先cd到httpd-tools的所在目录,使用如下命令安装:

      yum -y install httpd-tools

      查看ab是否安装成功

      ab -V

      用whereis查看安装在何处

      whereis ab

      模拟1000人同一时间访问; 其中-n代表请求数,-c代表并发数

      ab -n 1000 -c 1000  http://localhost:3000/

      ab -c 100 -n 1000000 -k http://127.0.0.1:8080/

      参数解释:

      

    Server Software:        Apache/2.2.25 (服务器软件名称及版本信息)
    Server Hostname:        localhost (服务器主机名)
    Server Port:            80 (服务器端口)
    Document Path:          /index.php (供测试的URL路径)
    Document Length:        10 bytes (供测试的URL返回的文档大小)
    Concurrency Level:      100 (并发数)
    Time taken for tests:   0.247 seconds (压力测试消耗的总时间)
    Complete requests:      1000 (压力测试的总次数)
    Failed requests:        0 (失败的请求数)
    Write errors:           0 (网络连接写入错误数)
    Total transferred:      198000 bytes (传输的总数据量)
    HTML transferred:       10000 bytes (HTML文档的总数据量)
    Requests per second:    4048.34 [#/sec] (mean) (平均每秒的请求数)
    Time per request:       24.701 [ms] (mean) (所有并发用户(这里是100)都请求一次的平均时间)
    Time per request:       0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间)
    Transfer rate:          782.78 [Kbytes/sec] received (传输速率,单位:KB/s)

    Server Software:        Apache/2.2.25 (服务器软件名称及版本信息)
    Server Hostname:        localhost (服务器主机名)
    Server Port:            80 (服务器端口)
    Document Path:          /index.php (供测试的URL路径)
    Document Length:        10 bytes (供测试的URL返回的文档大小)
    Concurrency Level:      100 (并发数)
    Time taken for tests:   0.247 seconds (压力测试消耗的总时间)
    Complete requests:      1000 (压力测试的总次数)
    Failed requests:        0 (失败的请求数)
    Write errors:           0 (网络连接写入错误数)
    Total transferred:      198000 bytes (传输的总数据量)
    HTML transferred:       10000 bytes (HTML文档的总数据量)
    Requests per second:    4048.34 [#/sec] (mean) (平均每秒的请求数)
    Time per request:       24.701 [ms] (mean) (所有并发用户(这里是100)都请求一次的平均时间)
    Time per request:       0.247 [ms] (mean, across all concurrent requests) (单个用户请求一次的平均时间)
    Transfer rate:          782.78 [Kbytes/sec] received (传输速率,单位:KB/s)


    性能测试,难点在于你确认要测什么?是压力测试还是负载测试。这点很重要,如果这2个概念你还不清楚,请搜索。
    其次在于如何确定测试策略和测试指标。也就是在性能测试中常说的测试场景。这个选择的面和方法很复杂。可以另开题在说了。这里就说步骤好了。
    以上确认完毕后,再次确认测试环境,内网,无网络问题,带宽足够,线上,线下服务器配置相同,架构同样。缓存设置,等等一系列。
    OK了,以上都确认完毕了,可以看看选择什么工具了。简单的AB WB JM 复杂的LR 对吧。选择方法另说。
    以上都OK了,才可以按照测试策略来进行测试。这只是到了性能测试的实施阶段。
    后续还有调优,复测,。。。。。。。循环100次。
    所以说,你这个问题问的巨大无比,一些同学的回复 ,上来就大谈工具。都是不正确的。工具只是这里边最简单的一环。
    性能测试,不是简单的一点二点就说清楚的。上边的每一条展开了说都是一部长篇,供您参考

    3, 

    webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。
    下载地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
    这个程序更小,解压后不到50K,呵呵
    安装非常简单
    #tar zxvf webbench-1.5.tar.gz
    #cd webbench-1.5
    #make && make install
    会在当前目录生成webbench可执行文件,直接可以使用了

    用法:

    webbench -c 并发数 -t 运行测试时间 URL
    如:
    webbench -c 5000 -t 120 http://www.vpser.net

    每秒钟响应请求数:3230/60= X pages/sec,每秒钟传输数据量11614212 bytes/sec。

      当并发1615时,已经显示有0个连接failed了,说明未负荷了。


    补充:

      1、压力及性能测试工作应该放到产品上线之前,而不是上线以后;
      2、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少;
      3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。

      备注:webbench 做压力及性能测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,建议将 webbench 安装在其他的服务器上,已达到测试数据更加精确。

     
  • 相关阅读:
    96. Unique Binary Search Trees1和2
    576. Out of Boundary Paths
    686. Repeated String Match判断字符串重复几次可以包含另外一个
    650. 2 Keys Keyboard
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    CISSP 考试经验分享
    2019-2020 ICPC Asia Hong Kong Regional Contest J—Junior Mathematician 数位dp
  • 原文地址:https://www.cnblogs.com/maomaochong123/p/8076089.html
Copyright © 2020-2023  润新知