jmeter并发测试

复制代码
数据库连接池配置应增大:
datasource:
  dynamic:
    #设置默认的数据源或数据源组,默认值为master
    primary: law
    druid:
      initialSize: 20
      minIdle: 20
      maxActive: 3000
      maxWait: 60000
      queryTimeout: 60000
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 20000
      validationQuery: SELECT 'x'
      testWhileIdle: true
      testOnBorrow: true
      testOnReturn: true
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20

mysql数据库配置:

max_connections=1000

max_user_connections=500

net_read_timeout = 2000

jmeter配置:

1、添加线程组

2、线程组下添加http请求

3、线程组下添加http信息头管理器

4、线程组下添加查看结果树

5、线程组下添加汇总报告

nginx配置

user www www;

worker_processes auto;

error_log logs/error.log notice;

pid logs/nginx.pid;

worker_rlimit_nofile 20480;

events {

use epoll;

worker_connections 20480;

}

http {

include mime.types;

default_type application/octet-stream;

resolver 114.114.114.114;

server_names_hash_bucket_size 128;

client_header_buffer_size 64k;

large_client_header_buffers 8 128k;

client_max_body_size 100m;

client_body_buffer_size 30M;

limit_conn_zone $binary_remote_addr zone=one:32k;

sendfile on;

tcp_nopush on;

proxy_read_timeout 240s;

keepalive_timeout 600;

tcp_nodelay on;

gzip on;

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.0;

gzip_comp_level 2;

gzip_types text/plain application/x-javascript text/css application/xml;

gzip_vary on;

log_format wwwlogs '$remote_addr - remote_user \[time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';

#access_log logs/access.log;

#log_format access-upstream 'time_iso8601\|request|remote_addr\|upstream_response_time|http_user_agent\|http_x_forwarded_for';

map $time_iso8601 $logdate {

'~^(?<ymd>\d{4}-\d{2}-\d{2})' $ymd;

default 'date-not-found';

}

access_log logs/access-$logdate.log ;

#include default.conf;

include vhost/*.conf;

#upstream配置

upstream springboot{

server 192.168.1.xx:端口;

server 192.168.1.xx:端口;

}

}

代理的location下配置反向代理

location /boot/ {

proxy_pass http://springboot;(upstream的命名的名称)

proxy_set_header Host host:server_port;

proxy_set_header X-Real-IP host:remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

}

jmeter可能出现的报错或异常

1、java.net.socketException:socket closed(强制停止线程,连接中断产生的错误,正常压测我们等测试结束就好,不用强制停止。)

2、java.net.SocketTimeoutExpetion:Read timed out(这个错误的导致是由于请求接口 设置的请求超时与请求响应超时设置过小所致。)

3、jmeter压测报java.net.SocketException:Connection reset: windows电脑需配置注册表

MaxUserPort:最大动态端口数(Default = 5000, Max = 65534)

TcpTimedWaitDelay:TCP等待延迟时间(30)

TcpNumConnections:TCP最大连接数(Default = 16,777,214)

MaxFreeTcbs:最大TCP控制块(1000-2000)

MaxHashTableSize:最大TCB Hash table数量(64-65536)

解析中值为10进制,下方脚本已全转换为16进制

实际在注册表新增:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] 新建:

"MaxUserPort"=dword:fffe

"TcpTimedWaitDelay"=dword:1e

"TcpNumConnections"=dword:fffffe

"MaxFreeTcbs"=dword:7D0

"MaxHashTableSize"=dword:10000

相关推荐
martian66525 分钟前
【Java高级篇】——第16篇:高性能Java应用优化与调优
java·开发语言·jvm
m0_7482500327 分钟前
springboot使用logback自定义日志
java·spring boot·logback
-优势在我31 分钟前
Android TabLayout 实现随意控制item之间的间距
android·java·ui
Lojarro1 小时前
JavaEE基础之- Servlet相关
java·servlet·java-ee
考虑考虑1 小时前
MyCat2使用
java·后端·java ee
KingDol_MIni1 小时前
Spring Boot 集成 T-io 实现客户端服务器通信
java·服务器·spring boot
许苑向上1 小时前
Java八股文(下)
java·开发语言
逸Y 仙X1 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
独孤求败Ace1 小时前
第44天:Web开发-JavaEE应用&反射机制&类加载器&利用链&成员变量&构造方法&抽象方法
java·开发语言
FLZJ_KL1 小时前
【设计模式】【创建型模式】单例模式(Singleton)
java·单例模式·设计模式