zoukankan      html  css  js  c++  java
  • jmeter 启用gzip压缩——解决测试中web服务器上行流量过大的问题

    最近测了几个前端的项目,发现它们都有一个共同点:应用所在服务器的网卡上行(trans)非常大——经常是 117 MB/S,这已经逼近了千兆网卡的极限了。下面记录下排查和解决过程:

    一. jmeter 客户端启用gzip压缩

    1. 使用jmeter的查看结果树,发现单次请求的返回都在 220KB以上

    2. 查看应用的nginx服务器配置,发现已经启用gzip压缩,那问题是在哪里呢?

    3. 尝试用火狐浏览器打开被测页面,F12-单击网络模块,看到request header部分时,发现浏览器启用了 gzip压缩,如下图

    有木有可能是jmeter默认不支持gzip,导致返回网页是未经过压缩滴? 查看之,艹!果然!!!

    果断通过添加“http信息头管理器”的方式启用GZIP,启用后的jmeter如下:

    对比下启用压测前后的返回大小:

    效果非常显著!

    附:如何在jmeter中启用GZIP:

     jmeter中get请求gzip数据的方法:

    在jmeter线程组中添加“http信息头管理器”,并添加名称:Accept-Encoding值: gzip,deflate
    注:HTTP信息头Accept-Encoding 是客户端发给服务器,声明客户端支持的编码类型

    验证服务器是否返回了gzip格式数据:

    1. 线程组中添加一个“查看结果树”监听器

    2.运行测试后,在监听器取样器结果标签页查看http服务器的响应头:

    Content-Encoding: gzip
    Vary: Accept-Encoding

    post方式发送gzip格式文件:

    1.http sample里选择“同请求一起发送文件:”MIME类似设置为gzip

    2.http 信息头管理器添加http头:
    content-type:x-application/x-gzip
    content-encoding:gzip

    二. Nginx(前端代理和分发)启用gzip压缩

         详情参见 http://www.cnblogs.com/onmyway20xx/p/4901364.html

    三. Tomcat(后端应用)启用gzip压缩

         为啥Tomcat也要启用gzip压缩呢? 大家看下图,页面的流转过程是:tomcat---->nginx---->用户,nginx启用压缩之后,nginx服务器上传瓶颈解决了,但是tomcat--->nginx这块仍然存在瓶颈。相关操作方法参见http://www.cnblogs.com/onmyway20xx/p/4942576.html

       

  • 相关阅读:
    struct
    python Hbase Thrift pycharm 及引入包
    python 性能鸡汤
    hbase 0.96 单机伪分布式配置文件及遇到的问题 find命令
    ubuntu下配置protobuf
    hadoop 2.2.0 eclipse 插件编译 及相关eclipse配置图解
    hadoop2.2.0 单机伪分布式(含64位hadoop编译) 及 eclipse hadoop开发环境搭建
    install ubuntu
    ubuntu wubi安装注意事项
    HBase eclipse开发环境搭建
  • 原文地址:https://www.cnblogs.com/onmyway20xx/p/4905000.html
Copyright © 2011-2022 走看看