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

相关推荐
小bo波2 小时前
从"任意文件复制"深挖Java I/O:字符流与字节流的本质抉择
java·nio·io流·后端开发·文件复制
nanxun8861 天前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103511 天前
Day01 | Java 基础(Java SE)
java
行者全栈架构师1 天前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师1 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_01 天前
mac(m5)平台编译openjdk
java
唐青枫2 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马2 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261352 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261352 天前
Java 打印 Word 文档:从基础打印到高级设置
java