













|
指标 |
原生MySQL |
Docker MySQL |
性能损失 |
|
平均TPS |
1523 |
1386 |
9.1% |
|
95%延迟(ms) |
21 |
29 |
38% |
|
磁盘IO吞吐(MB/s) |
62 |
51 |
17.7% |
老码农点评:TPS看似只降了9%,但延迟飙升38%——对实时业务简直是噩梦!
# 使用host网络模式
docker run --network=host mysql:8.0
# 1. 数据卷直连宿主机
docker run -v /mnt/ssd/mysql:/var/lib/mysql mysql
# 2. 使用性能模式挂载
mount -o noatime,data=writeback /dev/sdb /mnt/ssd
# 允许容器突破CPU限制(慎用!)
docker run --cpus=4 --cpu-quota=-1 mysql
# 限制内存并禁用Swap
docker run -m 4g --memory-swap=4g mysql
version: '3.8'
services:
mysql:
image: mysql:8.0
network_mode: "host"
volumes:
- /mnt/nvme/mysql:/var/lib/mysql
environment:
- MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT=2
deploy:
resources:
limits:
memory: 6G
cpus: '3'
command:
--innodb_buffer_pool_size=4G
--innodb_flush_method=O_DIRECT
|
指标 |
调优前损失 |
调优后损失 |
|
TPS |
9.1% |
2.8% |
|
延迟 |
38% |
5.1% |
|
IO吞吐 |
17.7% |
4.3% |
“你愿意用5%的性能换取容器化的便利吗?在评论区说出你的选择!”

此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。