我们在繁忙的 Web 服务器上的 PHP 日志中偶尔会遇到这些错误,持续几毫秒。
2024/10/04 02:06:32 [错误] 899410#899410: *566044078 FastCGI 在 stderr 中发送:“PHP 消息:由于资源暂时不可用,数据库连接失败,出现 errno 2002”,同时从上游客户端读取响应头: xxx,服务器:xxx.com,请求:“POST /xxx.php HTTP/1.1”,上游:“fastcgi://127.0.0.1:9003”,主机:“xxx.com”
服务器是专用的 Debian 12,具有 64 GB RAM。分配的内存约为 19 GB。
MariaDB 版本为 11.3.2,PHP-FPM 8.3.12。
尽管在 MariaDB 配置中设置了
log_warnings=4
,但在发布时,MariaDB log_error
文件中绝对没有任何内容。通过查看当时的网络数据图表,也看不到任何其他明显的限制命中或流量增加。
知道如何找到问题的根源吗?
该问题可能是由默认设置为低的
back_log
变量引起的。将此变量设置为更高的值完全解决了该问题。很遗憾 MariaDB 日志没有提供任何线索。