zoukankan      html  css  js  c++  java
  • Web压测工具之Webbench和http_load

    Webbench简介

    是知名的网站压力测试工具,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。

    webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。

    Webbench最多可以模拟3万个并发连接去测试网站的负载能力

    # 1.特点中规中矩,比较稳定
    # 2.可以设置并发数和运行测试时间
    # 3.可以对php,jsp等网页进行测试
    
    # 综合来说,功能一般,但是胜在稳定,可以对页面进行测试并直接显示每秒响应数和流量
    

    部署

    # 安装依赖编辑器
    yum install -y gcc ctags make
    wget http://www.ha97.com/code/webbench-1.5.tar.gz
    tar zxvf webbench-1.5.tar.gz
    cd webbench-1.5
    make && make install
    

    使用案例

    前面必须带http,最后面必须带/
    -c指定并发,-t运行几秒,不确定每秒访问多少
    webbench -c 2000 -t 2 http://192.168.2.38/

    #请求页面为xxx
    Benchmarking: GET http://192.168.2.38/
    
    #并发2000,运行5秒
    2000 clients, running 2 sec.
    
    #每分钟访问页面数量,每分钟字节数
    Speed=409349 pages/min, 5757768 bytes/sec.
    
    #请求13645次,失败0
    Requests: 13645 susceed, 0 failed.
    

    Http_load简介

    http_load以并行复用的方式运行,用以测试Web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,其可以以一个单一的进程运行,这样就不会把客户机搞死,还可以测试HTTPS类的网站请求

    # 1 . 它是读取文件方式来测试,文件中可以填写多个URL
    # 2 . 可以设置1000并发,执行100次
    # 3 . 可以设置100个并发,执行一小时
    # 4 . 可以设置每秒100个请求,请求1000次
    # 5 . 可以设置每秒100个请求,执行一小时
    
    # 适合一个网站多个页面,长久的测试,看访问压力。但因为是单线程的,导致不能并发去访问
    

    部署

    yum -y install gcc cmake
    # 然后创建存放说明的文件夹,否则编译报错
    mkdir /usr/local/man
    wget http://www.acme.com/software/http_load/http_load-12mar2006.tar.gz
    tar -xzvf http_load-12mar2006.tar.gz
    cd http_load-12mar2006
    make && make install
    

    使用案例

    # 首先创建url文件
    vim url.txt
    echo "http://192.168.2.38/" >> url.txt
    # 2000并发,总数为1万
    http_load -p 2000 -f 10000 url.txt
    
    
    # 测试中运行了1000个请求,最大的并发进程数是270(自己设置的,但差不少),总计传输的数据是6.12e+06 bytes,运行的时间是2.74116秒
    10000 fetches, 270 max parallel, 6.12e+06 bytes, in 2.74116 seconds
    
    # 每个连接平均传输的数据量
    612 mean bytes/connection
    
    # 说明每秒的响应请求数为3648,每秒传递的数据为2.23263e+06 bytes
    3648.09 fetches/sec, 2.23263e+06 bytes/sec
    
    # 每次连接的平均响应时间是11.4839毫秒,最大响应时间1007.84,最小响应时间0.104
    msecs/connect: 11.4839 mean, 1007.84 max, 0.104 min
    
    # 说明每个请求的平均响应时间是13.4338毫秒,最大233.393,最小1.238
    msecs/first-response: 13.4338 mean, 233.393 max, 1.238 min
    
    # 说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。当前1000个都返回200
    HTTP response codes:
      code 200 -- 10000 
    
    参数
    # 命令格式:http_load  -p 并发访问进程数  -s 访问时间  需要访问的URL文件
    # 参数其实可以自由组合,参数之间的选择并没有什么限制。
    
    # 比如你写成http_load -parallel 5 -seconds 300 urls.txt也是可以的。我们把参数给大家简单说明一下。
    
    # -parallel 简写-p :含义是并发的用户进程数。
    # -fetches 简写-f :含义是总计的访问次数
    # -rate    简写-r :含义是每秒的访问频率,最大1000
    # -seconds简写-s :含义是总计的访问时间
    
  • 相关阅读:
    查看weblogic的console信息
    Gearman分布式任务处理系统(二)扩展应用
    Gearman分布式任务处理系统(一)基本介绍
    通过Gearman实现MySQL到Redis的数据同步(异步复制)
    java 23种设计模式
    linux常用命令
    Linux下软件常见安装方式
    Redis快速入门:安装、配置和操作
    Redis快速入门:选择Key-Value Store
    Redis快速入门:Key-Value存储系统简介
  • 原文地址:https://www.cnblogs.com/you-men/p/13393966.html
Copyright © 2011-2022 走看看