我们有一个吸引大量流量的门户。由于 Ubuntu 18 的寿命已到尽头,因此我们已在 Ubuntu 18 上升级了运行 php 7.4 的服务器。运行 Ubuntu 18 和 php 7.4 的服务器的平均负载为 0.5,而运行 Ubuntu 20 和 php 8 的服务器的平均 CPU 负载为 2。php-fpm 状态页面平均有 15-20 个连接。
在前端,F5 以自然的方式分配 tradfik。为什么“ubuntu 18 和 php7.4”机器与“ubuntu 20 和 php8”机器之间会存在平均 4 倍的 CPU 使用率差异?12 月 18 日和 php7.4 机器。12 月 18 日和 php7.4 机器。12 月 18 日和 php7.4 机器?
所有 fpm 和核心参数都一样!我们尝试从 18 升级到 Ubuntu 20,结果还是一样。我们尝试再次安装 Ubuntu 20,结果还是一样。
另外,当我激活 php 8 自带的 jit 时,我们禁用了 jit,因为我们观察到 12gb 内存在几个小时内就用完了。此外,我们在 jit 运行时没有观察到任何性能差异。
系统日志中没有记录表明操作系统已达到其极限。
fpm settings
pm= static
pm.max_children =50
pm.max.requests = 500
opcache:
zend_extension=opcache.so
acache.activate =1
acache.enable_cli=1
acache.memory consumption = 4096
acache.max_accelerated files=5000
acache.revalidate_freq=60
acache.validate_timestamps=1
acache.file_update_protection=0
acache.max_wasted_percentage=10
acache.interned_strings_buffer=32
acache.validate_permission=1
acache.validate_root=1
ubuntu 18/20
8 cores
12 gb of ram
ubuntu # ulimit -a
kernel file size (blocks, -c) 0
data segment size (kbytes, -d) unlimited
timing priority (-e) 0
the file size (blocks, -f) is unlimited
pending signals (-i) 96157
maximum locked memory (kbytes, -l) 65536
the maximum memory size (kbytes, -m) is unlimited
open files (-n) 131072
pipe size (512 bytes, -p) 8
POSIX message sequences (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
maximum user operations (-u) 131072
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited