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

相关推荐
SeaDhdhdhdhdh2 小时前
MCP Server 搭建与使用指南
java·ai·agent·mcp
YH55269843 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
AI_小站3 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
许彰午4 小时前
03-三种开发模式
java·架构
涟漪海洋4 小时前
创建最新的JDK25镜像,非root环境启动
java
Rain的Java大神之路4 小时前
短信接口被狂刷怎么处理
java·运维·后端·web安全·面试·架构·xss
2602_959960925 小时前
谢飞机面试大厂:Spring Boot、JVM、Redis、Kafka、微服务与音视频搜索场景求生实录
java·jvm·spring boot·redis·面试题
Zane1994125 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
略略略咯咯6 小时前
AI玩具-study
java
xier_ran7 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库