提问人:Aadil Awan 提问时间:11/15/2023 更新时间:11/15/2023 访问量:26
PHP Web 服务中的 MongoDB 连接过多问题
Too many MongoDB connections issue in PHP web services
问:
我们在 Laravel/Lumen 中为 Azure 图形 API 编写了 Web 服务/回调。我们的 Web 服务托管在 AWS ASG 中,服务器上有 Apache 和 PHP-FPM。ASG 中的最小池数为 4,最大池数设置为 10。对于数据库,我们使用的是MongoDB,它也与Lumen API并行托管在AWS中。我们在 Lumen 中使用 jenssegers/mongodb 包进行数据库连接/查询。我们每秒收到来自 Azure 的大量请求。我们的项目与电子邮件/邮箱有关,因此流量/请求持续达到~60K/秒。
问题是我们的MongoDB连接正在迅速增加,达到40K。如何管理这些连接?由于 MongoDB 连接限制为 50K,因此我们还预计未来随着产品扩展,来自 Azure 的流量会增加。
早期的 PHP-FPM 是使用动态 PM 设置的,我们现在已将其更改为具有以下配置的按需 PM
pm = ondemand
pm.max_children = 100
pm.process_idle_timeout = 20s;
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.start_servers = 10;
这减少了连接数量,但并不显着(大约 ~5K)。
答: 暂无答案
评论