• Webbench进行网站压力测试


    今天突然发现一个新大陆,Webbench,是linux下,用这很方便,开源,不限制并发访问次数和时间....大爱啊! 

    下载Webbench

    使用wget  或者windows下载好导入linux也行,地址:http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz

    编译安装 

    1. root@jack-desktop:~/software# tar xvzf webbench-1.5.tar.gz   
    2. root@jack-desktop:~/software/webbench-1.5# make  
    3. cc -Wall -ggdb -W -O   -c -o webbench.o webbench.c  
    4. webbench.c: In function ‘alarm_handler’:  
    5. webbench.c:77: warning: unused parameter ‘signal’  
    6. cc -Wall -ggdb -W -O  -o webbench webbench.o    
    7. ctags *.c  
    8. root@jack-desktop:~/software/webbench-1.5# make install  
    9. install -s webbench /usr/local/bin  
    10. install -m 644 webbench.1 /usr/local/man/man1  
    11. install -d /usr/local/share/doc/webbench  
    12. install -m 644 debian/copyright /usr/local/share/doc/webbench  
    13. install -m 644 debian/changelog /usr/local/share/doc/webbench  
    14. root@jack-desktop:~/software/webbench-1.5#   
    15. root@jack-desktop:~/software/webbench-1.5# web  
    16. webbench  webs     

    ok,安装成功

    看看他的帮助文档

    1. root@jack-desktop:~/software/webbench-1.5# webbench --help  
    2. webbench [option]... URL  
    3.   -f|--force               Don't wait for reply from server.  
    4.   -r|--reload              Send reload request - Pragma: no-cache.  
    5.   -t|--time <sec>          Run benchmark for <sec> seconds. Default 30.  
    6.   -p|--proxy <server:port> Use proxy server for request.  
    7.   -c|--clients <n>         Run <n> HTTP clients at once. Default one.  
    8.   -9|--http09              Use HTTP/0.9 style requests.  
    9.   -1|--http10              Use HTTP/1.0 protocol.  
    10.   -2|--http11              Use HTTP/1.1 protocol.  
    11.   --get                    Use GET request method.  
    12.   --head                   Use HEAD request method.  
    13.   --options                Use OPTIONS request method.  
    14.   --trace                  Use TRACE request method.  
    15.   -?|-h|--help             This information.  
    16.   -V|--version             Display program version.  
    17. root@jack-desktop:~/software/webbench-1.5#   

    使用



    用法很简单,下面简单的测试使用

    1. root@jack-desktop:~/software/webbench-1.5# webbench -c 100 http://localhost:12345/test  
    2. Webbench - Simple Web Benchmark 1.5  
    3. Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.  
    4.   
    5. Benchmarking: GET http://localhost:12345/test  
    6. 100 clients, running 30 sec.  
    7.   
    8. Speed=495888 pages/min, 586798 bytes/sec.  
    9. Requests: 247944 susceed, 0 failed.  


    并发100个,运行30s,访问请求全部成功,速度495888 pages/min, 586798 bytes/sec

     

     
    1. root@jack-desktop:~/software/webbench-1.5# webbench -c 1000 http://localhost:12345/test  
    2. Webbench - Simple Web Benchmark 1.5  
    3. Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.  
    4.   
    5. Benchmarking: GET http://localhost:12345/test  
    6. 1000 clients, running 30 sec.  
    7.   
    8. Speed=414996 pages/min, 490915 bytes/sec.  
    9. Requests: 207430 susceed, 68 failed.  

    并发1000个,运行30s,访问68个失败,速度也慢下来了,414996 pages/min, 490915 bytes/sec

    但是完全达到我的需求了!哈哈

    另外我还发现个问题,就是在并发很大时我的服务器占用资源很厉害,主要是CPU占用过多,有时达到80%以上!

    总结:

    1、压力测试工作应该放到产品上线之前,而不是上线以后 

    2、测试时尽量跨公网进行,而不是内网

    3、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开是否流程,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少 

    4、 应尽量进行单元测试,如B2C网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大

  • 相关阅读:
    《HTTP 权威指南》笔记:第十二章 基本认证体制
    os模块,序列化模块
    常用模块,时间模块,sys模块
    random模块
    re模块
    正则表达式
    模块和包
    内置方法及模块初识,set的hash算法面试题
    fromkeys,eval,join的使用
    反射及内置方法
  • 原文地址:https://www.cnblogs.com/like-minded/p/5165348.html
Copyright © 2020-2023  润新知