http请求的注意事项

  在做性能测试时,不管遇到多大的麻烦,写代码时不要使用beanshell

  jmeter支持的语言:java,python2.7(不支持python3+),groove,jython,js  

 http请求的注意事项:

    1. http请求协议:http可不写,https必须写

    2. 服务器名称或IP:不能有斜杠

    3. 端口号:tomcat的默认8080可不写,其他端口号必须写

    4. 路径:开头必须加斜杠,且首尾不能有空格

    5.  http请求取样器的参数:勾选编码后,只作用于url的encoding编码(如url含中文)

    6. 内容编码:3处可设置

      a. http消息头管理器:json格式请求体一定要在http信息头管理里面设置格式

        可设置编码如 Content-Type=json; charset=uft-8;

        application/x-www-form-urlencoded:默认表单格式(当请求体不是json时,可默认不写);

      b. 内容编码:加utf8,避免乱码,仅作用于请求体

      c. 表单格式在参数页签中写内容时,勾选 ”编码“,参数值就会进行 urlencoded 编码,若值中有中文特殊符号,必须勾选编码,可能进入服务器内部后乱码建议都勾选编码      

    7. response的乱码:是服务器返回的,因为jmeter.properties读取的是操作系统(gbk)的语言,约1085行修改为sampleresult.default.encoding = 开发设置的编码

      (gb2312国标编码:支持简体中文,不支持繁体字;big5编码:支持繁体字,不支持简体字;gbk国际编码:支持中文;uft8编码:除数字字母外均支持)

    8. 必填字段与非必填字段尽可能都写上

    9. 结果树的结果顺序按先收到的响应先显示,并非先请求先显示

  

  自动重定向、跟随重定向

    1. 自动重定向:也会重定向,但是不会记录中间的过程,无法提取中间过程中需要的数据

    2. 跟随重定向:默认勾选,请求会自动进行跳转到新的地址上,而且会显示重定向的过程,我们也能够提取重定向过程中的数据

      后置处理器,可以提取出,跟随重定向过程中的数据

    3. 若发生重定向,在查看结果树中会多一个折叠的 + 

       结果树中:红色 + ,请求方法错误,可能折叠

       结果树中:绿色 + ,请求方法正确,可能折叠

 

  使用keepAlive:长连接的标志

    现在的接口协议http版本是1.1,默认是长连接(连接建立起来,保持的时间长就是长连接,通过3次握手建立连接)

    请求头中含有 Connection: keep-alive,保持通道长时间连接

    注意:

      长连接建立起来后,会占用发起方1个端口,被测服务器要使用一个连接通道,这个端口数量,就可能是性能的一个瓶颈 

      (端口有限,windows可以支持理论值6.3w个端口,端口范围1024-65534之间,但windows没有开放这么多端口)

      服务器的通道(也称连接池),也可能是性能的一个瓶颈(被测的服务器的通道,要有资源才能创建,不可能无限大)

    解决方案:

      1. 取消keepAlive勾选,只是延缓了出错的时间

      2. 修改系统的端口相关配置(linux/windows操作系统修改)

  

  对post使用multipart / form-data:看起来是表单,但又不是表单

  与浏览器兼容的头:useragent

  

 

posted @   momo87  阅读(569)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示