zoukankan      html  css  js  c++  java
  • siege之-服务端性能测试

    官方网站http://www.joedog.org/ 

    有3种操作模式: 

    1) Regression (when invoked by bombardment)Siege从配置文件中读取URLs,按递归方式,逐个发送请求 

    2) Internet simulation (Siege从配置文件中读取URLs,随机选取URL发送请求)

     3) Brute force (在命令行上写上一个单独的URL,发送请求)  

    安装siege

    1、更新系统

    sudo apt-get update && sudo apt-get upgrade --show-upgraded
    

    2、下载最新版本的siege

    wget http://download.joedog.org/siege/siege-latest.tar.gz

    3、解压并进入siege路径

    tar -zxvf siege-latest.tar.gz

    cd siege-*/

    4、安装编译工具

    sudo apt-get install build-essential

    5、编译安装siege

    ./configure  #配置#

    make  #调用make#

    sodu make install  #安装源代码#

    Siege以命令行方式使用,调用格式如下:  siege [options] 

    Siege命令常用参数

    -c 200 指定并发数200
    -r 5 指定测试的次数5
    -f urls.txt 制定url的文件
    -i internet系统,随机发送url
    -b 请求无需等待 delay=0
    -t 5 持续测试5分钟
    # -r和-t一般不同时使用

    Siege输出结果说明

    • Transactions: siege对服务器的访问次数。如果页面发生了redirect,那么siege会将跳转过的请求算成是另一个transaction
    • Availability: socket连接的成功率。算法是,如果页面发生了timeout,4xx,5xx,那么该请求算是失败请求,成功率就等于(所有请求-失败请求) / 总请求数
    • Elapsed time: 所有请求耗费的时间
    • Data transferred: 所有请求传输的数据量,包括请求的headers和content。所以这个数值可能比server端统计的数值要大一点
    • Response time: 平均响应时间
    • Transaction rate: Transactions / Elapsed time
    • Throughput: 每秒平均传输的数据量
    • Concurrency: 平均并发的请求数
    • Successful transactions: 所有status code < 400的transactions数量
    • Failed transactions: 所有status code >= 400的transactions数量
    • Longest transaction: 最耗时的请求时间
    • Shortest transaction: 最短单个请求时间

    1,发送post请求时,url格式为:http://www.xxxx.com/ POST p1=v1&p2=v2
    2,如果url中含有空格和中文,要先进行url编码,否则siege发送的请求url不准确

    场景分析

    使用siege对ur.tencent.com进行加压。

    要求

    • 模拟20个用户同时访问
    • 一共跑3个循环

    siege -c 20 -r 3 http://ur.tencent.com





    做HTTPS性能测试 1、sudo apt-get install openssl 2、sudo apt-get install libssl-dev 这些命令要在siege的目录下运行 3、./configure -with-ssl=./configure --with-ssl 4、sudo make 5、sudo make clean 6、sudo make install 压测https网址 7、siege -c10 -r5
  • 相关阅读:
    [译]为什么你要学Go?
    类Lisp解释器JavaScript实现
    前端同学Windows中生存指北
    Virtualbox
    数据发布和上线日报&周报系统开发总结
    [Lab1]五分钟了解Makefile
    解决linux下解压来自windows的zip文件产生乱码的问题
    Arch使用过程中出现的问题汇总
    jQuery为什么移除了.toggle()方法
    Linux配置DNS
  • 原文地址:https://www.cnblogs.com/bell1991/p/7054138.html
Copyright © 2011-2022 走看看