zoukankan      html  css  js  c++  java
  • jmeter学习之路01(安装+siege)

    1.打开   jmeter-book:

      a. 切换到书籍目录 cd F:jmeter-book ,再次:cd _book,输入python -m http.server

      b. 打开地址:http://localhost:8000/

    2. 安装siege:https://www.jianshu.com/p/74c465ff136f

    3. mac 安装jdk和python:https://www.cnblogs.com/wangqiao170/p/8888986.html

    4. 在Linux上安装siege,然后编译,siege仅支持http,https不支持siege

    Siege命令常用参数

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

    -H [Accept-Encoding:gzip] 加入请求头
    # -r和-t一般不同时使用

    常用的siege命令举例

    # 200个并发对http://www.google.com发送请求100次

    01
    siege -c 200 -r 100 http://www.google.com

    # 在urls.txt中列出所有的网址

    01
    siege -c 200 -r 100 -f urls.txt

    # 随机选取urls.txt中列出所有的网址

    01
    siege -c 200 -r 100 -f urls.txt -i

    # delay=0,更准确的压力测试,而不是功能测试

    01
    siege -c 200 -r 100 -f urls.txt -i -b

    # 指定http请求头 文档类型

    01
    siege -H "Content-Type:application/json" -c 200 -r 100 -f urls.txt -i -b

    Siege输出结果说明

    Transactions: 总共测试次数
    Availability: 成功次数百分比
    Elapsed time: 总共耗时多少秒
    Data transferred: 总共数据传输
    Response time: 等到响应耗时
    Transaction rate: 平均每秒处理请求数
    Throughput: 吞吐率
    Concurrency: 最高并发
    Successful transactions: 成功的请求数
    Failed transactions: 失败的请求数

    Siege使用的一些总结

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

     注意:   

        性能优化:图片部分下载,或者通过css去控制图片大小,进行拼图

         20个用户,发送3次请求:siege -c 20 -r 3 http://www.tencent.com/

               调优之前先用siege做一次基本的并发,siege只支持get请求,不支持post请求

       执行结果:

    Transactions:         900 hits

    Availability:       100.00 %

    Elapsed time:         8.81 secs

    Data transferred:       12.33 MB

    Response time:         0.19 secs

    Transaction rate:       102.16 trans/sec

    Throughput:         1.40 MB/sec

    Concurrency:       19.60

    Successful transactions:         900

    Failed transactions:           0

    Longest transaction:         1.08

    Shortest transaction:         0.02

     

    保存执行结果:siege -c 5 -t 1M -f /Users/mac/Desktop/urls.md --log=result.csv

     查看结果使用:sz 文件名;直接下载到本地,先安装  lrzsz,brew install lrzsz/sodu apt-get install lrzsz

    5. 使用siege 压测启用gzip压缩

      gzip颜色就是指服务器在返回请求时候先将请求压缩一下,以减少response的体积,客户端收到response之后会自行解压,这是提升传输速度的一般做法

      在请求头中对下面的URL进行加压,不过要使用gzip,在请求头中加入:Accept-Encoding:gzip,就可以告诉服务器返回压缩后的response,具体命令如下:

       siege -c 5 -t 1M -f /Users/mac/Desktop/urls.md -H "Accept-Encoding:gzip"  --log=result.csv

    https://ur.tencent.com/academic

    https://ur.tencent.com/future

    https://ur.tencent.com/cooperation/platform

      查看gzip命令: curl -H "Accept-Encoding:gzip" -I http://www.baidu.com

    6. siege对移动站点进行压测

     原理:服务器根据user-agent这个值确认浏览器是移动端还是桌面版本

     通过user-agent伪造 成不同浏览器

  • 相关阅读:
    A Bug's Life-----poj2492(关系并查集)
    食物链--poj1182(并查集含有关系)
    How Many Answers Are Wrong----hdu3038(并查集)
    Parity game---poj1733
    使用FFmpeg类库实现YUV视频序列编码为视频
    JNA调用DLL函数遇到的几个问题
    从一个MFC工程移植对话框类到另一个MFC工程
    X264 输出的统计值的含义(X264 Stats Output)
    毕业生必知二三事。给即将毕业的师弟师妹看看,很有用的~~~~
    网络视频传输的服务质量(QoS)
  • 原文地址:https://www.cnblogs.com/vivian0119/p/12069957.html
Copyright © 2011-2022 走看看