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

推荐订阅源

宝玉的分享
宝玉的分享
T
Threat Research - Cisco Blogs
H
Hacker News: Front Page
N
News and Events Feed by Topic
Know Your Adversary
Know Your Adversary
Cisco Talos Blog
Cisco Talos Blog
SecWiki News
SecWiki News
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
K
Kaspersky official blog
Forbes - Security
Forbes - Security
Webroot Blog
Webroot Blog
Schneier on Security
Schneier on Security
P
Privacy & Cybersecurity Law Blog
H
Heimdal Security Blog
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
V
Vulnerabilities – Threatpost
T
Tenable Blog
T
Tailwind CSS Blog
P
Privacy International News Feed
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
博客园 - Franky
Hacker News: Ask HN
Hacker News: Ask HN
Jina AI
Jina AI
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
Vercel News
Vercel News
A
About on SuperTechFans
爱范儿
爱范儿
Simon Willison's Weblog
Simon Willison's Weblog
AWS News Blog
AWS News Blog
The Last Watchdog
The Last Watchdog
Engineering at Meta
Engineering at Meta
Spread Privacy
Spread Privacy
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园 - 司徒正美
量子位
博客园 - 三生石上(FineUI控件)
J
Java Code Geeks
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recorded Future
Recorded Future
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Martin Fowler
Martin Fowler
Project Zero
Project Zero

博客园 - 无心々菜

高并发 - 配置 地图 - 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.