• Linux压力测试工具


    1 http_load:http://www.oschina.net/p/http_load

    命令行输入man http_load 或者 http_load -h可以看到工具的使用方式:

    参数说明:

    -parallel   简写-p 含义是并发的用户进程数。
    -fetches   简写-f 含义是总计的访问次数
    -rate        简写-r 含义是每秒的访问频率
    -seconds  简写-s 含义是总计的访问时间
    urls.txt :  是需要进行压力测试的文件,文件里面记录的是需要进行测试的url地址

    使用方式说明:

    http_load -parallel 100 -fetches 10000 urls.txt

    #100个并发执行10000次

    http_load -parallel 100 -seconds 3600 urls.txt

    #100个并发执行1小时

    http_load -rate 100 -fetches 10000 urls.txt

    #每秒100个请求频率,请求10000次

    http_load -rate 100 -seconds 3600 urls.txt

    #每秒100个请求频率执行1小时

    结果分析:

    49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
    5916 mean bytes/connection
    4.89274 fetches/sec, 28945.5 bytes/sec
    msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
    msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
    HTTP response codes:
    code 200 -- 49

    1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
    说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒

    2.5916 mean bytes/connection
    说明每一连接平均传输的数据量289884/49=5916

    3.4.89274 fetches/sec, 28945.5 bytes/sec
    说明每秒的响应请求个数为4.89274,每秒传递的数据为28945.5 bytes/sec

    4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
    说明每次连接的平均响应时间是28.8932 msecs(毫秒),最大的响应时间44.243 msecs,最小的响应时间24.488 msecs

    5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min

    6、HTTP response codes: code 200 -- 49
    说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。
    特殊说明:这里,我们一般会关注到的指标是fetches/sec(每秒处理的请求数量)、msecs/connect(每次连接处理的时间)
    他们分别对应的常用性能指标参数
    Qpt-每秒响应用户数和response time,每次连接响应用户的时间。
    测试的结果主要也是看这两个值。当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论

    错误信息:byte count wrong
    http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出byte count wrong
    所以动态页面可以忽略这个错误信息。

    使用ps -ef | grep http_load | wc -l可以看出只有一个http_load进程,说明在执行并发的时候并没有产生相应的子进程去执行并发,始终只有一个进程

    2 webbench

    WebBench是有名的网站压力测试工具,由Lionbridge公司开发,最多可以模拟3万个并发连接去测试网站的负载能力。
    Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webBech的标准测试可以向我们展示服务器的 两项 内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试。

    1).下载webbench文件

    直接网上下载webbench文件或wget命令下载:

    wget http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz

    2).解压要编译的文件

    tarzxvf webbench-1.5.tar.gz

    3).编译源代码和安装文件

    cd webbench-1.5
    vim Makefile (自定义安装路径,PREFIX?= /usr/local)
    make&& make install

    4).webbench-c 500 -t 30 http://www.baidu.com/index.php

    参数说明:-c表示并发数,-t表示时间(秒)

    测试结果:

    Webbench - Simple Web Benchmark 1.5
    Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

    Benchmarking: GET http://www.baidu.com/index.php
    100 clients, running 60 sec.

    Speed=600 pages/min, 592821 bytes/sec.
    Requests: 624 susceed, 0 failed.

    每秒钟传输数据量:592821 bytes/sec每秒钟相应请求数:600/60= 10 pages/sec

    使用ps -ef | grep webbench | wc -l可以看出只有500个webbench进程,说明在执行并发的时候产生了相应的子进程去执行并发

    3 ab
    ab是apache自带的一款功能强大的测试工具,安装了apache一般就自带了,输入man ab就可以查看到具体的使用方式.

    参数众多,一般我们用到的是-n 和-c
    例如:
    ab -c 1000 -n 100 http://www.baidu.com/index.php

    这个表示同时处理1000个请求并运行100次index.php文件

    使用ps -ef | grep ab | wc -l可以看出只有1000个webbench进程,说明在执行并发的时候产生了相应的子进程去执行并发

  • 相关阅读:
    观察者模式
    hdu 4712 Hamming Distance bfs
    leetcode Sum Root to Leaf Numbers(所有路径之和)
    Oracle实用-01:绑定变量
    jQuery实现AJAX定时刷新局部页面实例
    给Ajax一个漂亮的嫁衣——Ajax系列之五(下)之序列化和反序列化
    jquery的ajax同步和异步
    报表技术
    告别.NET生成报表统计图的烦恼
    浅谈ASP.NET报表控件
  • 原文地址:https://www.cnblogs.com/springdong/p/3617512.html
Copyright © 2020-2023  润新知