1、取样器介绍

取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据。

取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加。

取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元。(取样器通常要进行这三个工作)

2、jmeter自带取样器

  • HTTP Request:HTTP请求
  • Flow Control Action :测试活动
  • Debug Sampler :Debug取样器
  • JSR223 Sampler :JSR223取样器
  • AJP/1.3 Sampler :AJP/1.3取样器
  • Access Log Sampler:Access Log取样器
  • Bean Shell Sampler :Bean Shell取样器
  • FTP Request :FTP请求
  • JDBC Request :JDBC Request
  • JMS Publisher:JMS发布
  • JMS Point-to-Point :JMS点到点
  • JMS Subscriber :JMS订阅
  • JUnit Request :JUnit请求
  • Java Request :Java请求
  • LDAP Extended Request :LDAP扩展请求默认值
  • LDAP Request :LDAP请求
  • OS Process Sampler :OS进程取样器
  • SMTP Sampler :SMTP取样器
  • TCP Sampler :TCP取样器
  • Mail Reader Sampler:邮件阅读者取样器

3、AccessLog Sampler

Access Log Sampler 可以收集和分析真实用户操作的数据,并可用于流量分析,更适合get接口的压测。常见的就是我们的nginx的access.log 日志。

先新建个AccessLog sampler取样器,配置协议、服务地址、端口、文件路径就可以进行压测

[转帖]jmeter_采样器sampler简介_客户端

access_log:⽤来指定⽇志⽂件的存放路径、格式

[转帖]jmeter_采样器sampler简介_Access_02

 


Nginx ⽇志参数如下:


$remote_addr 客户端地址 127.0.0.1


$remote_user 客户端⽤户名称


$time_local 访问时间和时区 18 /Dec/ 2019 : 17 : 00 : 01 + 0800


$request 请求的 URI 和 HTTP 协议 "GET /index.html HTTP/1.1"


$http_host 请求地址,即浏览器中你输⼊的地址( IP 或域名) www.baidu.com


192.168 . 100.100


$status HTTP 请求状态 200


$upstream_status upstream 状态 200


$body_bytes_sent 发送给客户端⽂件内容⼤⼩ 1547


$http_referer url 跳转来源 https: //www.baidu.com/


$http_user_agent ⽤户终端浏览器等信息 "Mozilla/4.0 (compatible; MSIE 8.0; Windows


NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C;


$upstream_addr 后台 upstream 的地址,即真正提供服务的主机地址 10.10 . 10.100 : 8000


$request_time 整个请求的总时间 0.205


$upstream_response_time 请求过程中, upstream 响应时间 0.002


nginx场景log解析:awk


查找访问频率最⾼的 URL 和次数:


cat access.log | awk -F ‘^A’ ‘{ print $10}’ | sort | uniq -c


查找当前⽇志⽂件 500 错误的访问:


cat access.log | awk -F ‘^A’ ‘{ if( $5 == 500) print $0}’


查找当前⽇志⽂件 500 错误的数量:


cat access.log | awk -F ‘^A’ ‘{ if( $5 == 500) print $0}’ | wc -l


查找某⼀分钟内 500 错误访问的数量:


cat access.log | awk -F ‘^A’ ‘{ if( $5 == 500) print $0}’ | grep ’09:00’ | wc -l


查找耗时超过 1s 的慢请求:


tail -f access.log | awk -F ‘^A’ ‘{ if( $6>1) print $0}’


假如只想查看某些位:


tail -f access.log | awk -F ‘^A’ ‘{ if( $6>1) print $3″|” $4}’


查找 502 错误最多的 URL:


cat access.log | awk -F ‘^A’ ‘{ if($5== 502) print $11}’ | sort | uniq