高并发 Docker 化 Laravel 应用调优方案(64C/512G/SSD)
一、Docker 编排与资源分配优化
1. Docker 全局配置 (/etc/docker/daemon.json)
{
\”default-ulimits\”: {
\”nofile\”: {
\”Name\”: \”nofile\”, \”Soft\”: 1048576, \”Hard\”: 1048576 }
},
\”log-driver\”: \”json-file\”,
\”log-opts\”: {
\”max-size\”: \”100m\”, \”max-file\”: \”3\”},
\”storage-driver\”: \”overlay2\”,
\”storage-opts\”: [\”overlay2.override_kernel_check=true\”],
\”oom-score-adjust\”: –1000
}
2. Docker Compose 资源分配 (docker-compose.yml)
version: \’3.8\’
services:
php:
image: php:7.4–fpm
deploy:
resources:
limits:
cpus: \’48\’
memory: 96G
volumes:
– ./src:/var/www/html
– ./php/php.ini:/usr/local/etc/php/php.ini
mysql:
image: mysql:5.7
deploy:
resources:
limits:
cpus: \’32\’
memory: 256G
volumes:
– ./mysql/data:/var/lib/mysql
– ./mysql/my.cnf:/etc/mysql/my.cnf
redis:
image: redis:6–alpine
deploy:
resources:
limits:
cpus: \’8\’
memory: 48G
command:
– redis–server
– ––maxmemory 40G
– ––maxmemory–policy allkeys–lfu
– ––io–threads 8
nginx:
image: nginx:1.21–alpine
deploy:
resources:
limits:
cpus: \’16\’
memory: 16G
volumes:
– ./nginx/nginx.conf:/etc/nginx/nginx.conf
ports:
– \”80:80\”
networks:
app_net:
driver: bridge
attachable: true
评论前必须登录!
注册