惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
博客园_首页
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
美团技术团队
小众软件
小众软件
V
V2EX
博客园 - Franky
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
Attack and Defense Labs
Attack and Defense Labs
S
Security Affairs
Simon Willison's Weblog
Simon Willison's Weblog
I
Intezer
T
The Exploit Database - CXSecurity.com
有赞技术团队
有赞技术团队
S
Schneier on Security
人人都是产品经理
人人都是产品经理
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
Kaspersky official blog
PCI Perspectives
PCI Perspectives
AI
AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
O
OpenAI News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Register - Security
The Register - Security
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
博客园 - 【当耐特】
C
Cisco Blogs
大猫的无限游戏
大猫的无限游戏
Help Net Security
Help Net Security
Google DeepMind News
Google DeepMind News
S
Securelist
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Proofpoint News Feed
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
L
LangChain Blog
SecWiki News
SecWiki News
博客园 - 叶小钗
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V2EX - 技术
V2EX - 技术
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
L
LINUX DO - 热门话题
Cisco Talos Blog
Cisco Talos Blog

博客园 - 无心々菜

高并发 - 配置 地图 - QGIS加载geojson,并导入Postgis数据库 VUE2 - Geoserver打印矢量PDF地图 - 在VUE2中的应用 地图 - Geoserver打印矢量PDF地图 Docker - 离线+无root环境安装 docker-rootless 运维 - 哪吒监控 Postgres 数据库在docker环境下分布式部署(arm64框架) Postgres 数据库在docker环境下分布式部署 Https - 配置方案 OpenObserver - 系统接口监控 VUE3 - Docker部署 + traefik反代 VUE2 - Docker部署 + traefik反代 高斯DB 数据库的安装 NETCORE - 使用 EFCORE 调用 高斯DB数据库 JMeter - 压力测试 NETCORE - IdentityServer4 多节点部署 NETCORE - IdentityServer4 相关文档 .NET框架 - NETCORE + API + EF(DBFirst) + PostgresSql Docker 部署 APISIX + etcd Docker部署martin 矢量切片服务器 Postgres 数据库的安装 NETCORE - 调用 RUSTFS Docker - 部署 RustFS 对像存储 Docker - 使用 Docker Secrets 敏感数据传输 Docker - 部署 Consul KV 统一管理所有项目的配置 Docker - 部署 HashiCorp Vault 开源密钥管理工具 kong 网关下集成 Consul服务注册与发现 Docker 部署 kong 网关 Docker - 部署Consul 新
高并发 - 配置2
无心々菜 · 2026-07-15 · via 博客园 - 无心々菜

高并发 - 配置2

开发环境+本地部署mysql,参考:https://www.cnblogs.com/1285026182YUAN/p/21335059

环境:.net9+efcore9 + mysql8 

测试环境:mysql8 ,docker部署

项目:.net9,docker 部署

测试工具:jmeter  https://www.cnblogs.com/1285026182YUAN/p/19697195

测试需求:500并发

一. mysql 调整

1. docker-compose

version: '3.8'

services:

  mysql8:
    image: mysql:8.0
    container_name: mysql8
    restart: no
    ports:
      - "3308:3306"
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - D:\DockerMapping\data_mysql\data:/var/lib/mysql
      # (可选)挂载自定义配置文件目录
      - D:\DockerMapping\data_mysql\config:/etc/mysql/conf.d
docker-compose up -d mysql8

2. 配置文件
创建文件:D:\DockerMapping\data_mysql\config\my.cnf

注意,文件要 只读 模式。

主要配置:

# 最大连接数(根据应用负载调整)
max_connections = 500

# InnoDB 缓冲池大小(建议设为物理内存的70%~80%,此处示例为512M,请按实际调整)
innodb_buffer_pool_size=10G

全部配置:

[mysqld]
# -------------------- 基础设置 --------------------
# 服务端默认字符集
character-set-server = utf8mb4
collation-server     = utf8mb4_unicode_ci

# 客户端连接默认字符集(影响连接会话)
init_connect = 'SET NAMES utf8mb4'

# 时区设置(设为东八区,可根据需要调整)
default-time-zone = '+8:00'

# -------------------- 连接与性能 --------------------
# 最大连接数(根据应用负载调整)
max_connections = 500

# 连接超时(秒)
connect_timeout = 10

# 等待超时(秒)
wait_timeout = 28800
interactive_timeout = 28800

# 临时表大小(影响复杂查询性能)
tmp_table_size = 64M
max_heap_table_size = 64M

# -------------------- 日志与错误 --------------------
# 通用查询日志(关闭,生产环境建议关闭,开发可开启)
# general_log = 0
# general_log_file = /var/lib/mysql/mysql-general.log

# 慢查询日志(开启,便于性能调优)
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/mysql-slow.log
long_query_time = 2   # 超过2秒的查询被记录

# 错误日志(默认开启,路径由数据目录控制)
log_error = /var/lib/mysql/mysql-error.log

# -------------------- 存储引擎 --------------------
# 默认存储引擎
default-storage-engine = InnoDB

# InnoDB 缓冲池大小(建议设为物理内存的70%~80%,此处示例为512M,请按实际调整)
innodb_buffer_pool_size = 10G

# 日志文件大小(影响恢复速度)
innodb_log_file_size = 128M
innodb_log_buffer_size = 16M

# -------------------- 安全与兼容 --------------------
# 表名大小写不敏感(1表示不敏感,0表示敏感,Windows默认1,Linux默认0)
# 注意:此参数需要初始化前设置,且一经设定不可随意更改!
lower_case_table_names = 1

# SQL模式(保留部分严格模式,去除 ONLY_FULL_GROUP_BY 等可能引起兼容性问题)
sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

# -------------------- 其他 --------------------
# 允许最大数据包(影响导入导出大文件)
max_allowed_packet = 256M

# 连接数限制保护
max_connect_errors = 1000

3. 重启服务

docker restart mysql8

注:

 MySQL 配置文件加载顺序(优先级从低到高)

MySQL 服务启动时会按照以下顺序依次读取配置文件,后读取的文件会覆盖先读取的文件中相同的参数

3. 校验配置

docker exec -it mysql8 /bin/bash
mysql -u root -p;
123456
-- 查询数据库允许最大连接数
SHOW VARIABLES LIKE 'max_connections';

-- 查询
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';

-- 查询 使用测试过程中 实际的连接数
SHOW STATUS LIKE 'Threads_connected';

image

二. net9 项目相关配置 

参考:https://www.cnblogs.com/1285026182YUAN/p/21335059

三. 这里mysql 虽然设置了10G内存,但 docker-desktop 并没有分配到很多,默认2G,需要调整配置

这里自行查吧,如果是linux 安装版的docker 也注意一下

image

image

end.