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

相关推荐
PypYCCcccCc5 分钟前
支付系统架构图
java·网络·金融·系统架构
华科云商xiao徐26 分钟前
Java HttpClient实现简单网络爬虫
java·爬虫
扎瓦39 分钟前
ThreadLocal 线程变量
java·后端
BillKu1 小时前
Java后端检查空条件查询
java·开发语言
jackson凌1 小时前
【Java学习笔记】String类(重点)
java·笔记·学习
刘白Live1 小时前
【Java】谈一谈浅克隆和深克隆
java
一线大码1 小时前
项目中怎么确定线程池的大小
java·后端
要加油哦~1 小时前
vue · 插槽 | $slots:访问所有命名插槽内容 | 插槽的使用:子组件和父组件如何书写?
java·前端·javascript
crud2 小时前
Spring Boot 3 整合 Swagger:打造现代化 API 文档系统(附完整代码 + 高级配置 + 最佳实践)
java·spring boot·swagger
天天摸鱼的java工程师2 小时前
从被测试小姐姐追着怼到运维小哥点赞:我在项目管理系统的 MySQL 优化实战
java·后端·mysql