我有一个真正令人头疼的问题,服务器上的一个站点会影响单独的 php-fpm 池中的其他站点。我认为这个想法是 php-fpm 池提供了隔离以阻止(减少)这种情况的发生。
我们有一个典型的 LEMP 服务器(Ubuntu 16.04 运行 NGINX 和 php-fpm 7.0 和 5.6。MySQL 在另一个机器上。)运行着许多不同规模的站点。
澄清一下,这似乎不是服务器资源问题;CPU、内存、inode、打开的文件、网络,我们已经检查了我们能想到的一切,服务器上仍然有足够的空间。
然而,游泳池的资源有限......
/etc/php/5.6/fpm/pool.d/siteone.conf
[siteone]
user = siteone
group = siteone
listen = /var/run/php5.6-fpm-siteone.sock
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 25
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
php_admin_value[error_log] = /var/log/php-fpm/siteone/siteone-php-fpm.log
php_value[newrelic.appname] = "siteone - LIVE"
php_admin_value[upload_max_filesize] = 5M
request_terminate_timeout = 5m
pm.max_requests = 5000
Run Code Online (Sandbox Code Playgroud)
然而,当一个站点达到 maxchildren 时,所有站点都开始超时。
请任何建议。
先感谢您。
全新且完全打补丁的 Ubuntu 18.04 实例(在 Linode VPS 上),带有从官方 Docker 存储库安装的 Docker 18.09.0(构建 4d60db4)。
IPv4 网络运行良好,无论是在容器之间还是内部到外部(一旦我设置了net.ipv4.ip_forward=1)。
然而,IPv6 甚至不会在容器之间进行通信,更不用说在外部进行通信了。
我尝试了很多东西,但发现本指南是最好的(除了它不起作用:-))
因此我有...
更新/etc/docker/daemon.json了以下内容并重新启动:
{
“ipv6”: true,
“fixed-cidr-v6”: “2001:db8:1::/64”
}
Run Code Online (Sandbox Code Playgroud)
检查了 MTU。
运行两个 docker 容器来测试这个:
sudo docker run -itd ajeetraina/ubuntu-iproute bash
sudo docker run -itd ajeetraina/centos-iproute bash
Run Code Online (Sandbox Code Playgroud)
两者都在内部显示出完美的连接性:
$ sudo docker exec -it b1cbb63b4e88 ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255
inet6 fe80::42:acff:fe11:3 prefixlen 64 scopeid 0x20<link>
inet6 2001:db8:1::242:ac11:3 prefixlen 64 scopeid 0x0<global>
ether …Run Code Online (Sandbox Code Playgroud)