gpt4 book ai didi

python - pymongo 没有关闭连接

转载 作者:行者123 更新时间:2023-12-01 06:02:56 24 4
gpt4 key购买 nike

我们正在尝试为我们的项目创建一个 api 服务器。

我们在 debian 机器上使用 mongodb 和 pymongo。一切都取决于日期。

但是我们遇到了一个非常奇怪的连接问题。有当我检查时,与 mongodb 端口的连接通常超过 15k-32k与

root@webserver1:/# netstat -na | grep mongo_db_ip | grep mongo_db_ip |厕所-l

我得到了 15363

连接处于 TIME_WAIT 状态...

但是当我检查 mongo 时,我目前只看到 5-6 个连接...

我们编写了一个 mongodb 类,它创建一个实例并使得联系。我们尝试调用 conn.disconnect() 或 conn.end_request()每次查询结束但并没有停止高连接数量...

有没有人可以告诉我应该是什么错误,或者有什么错误吗?为 mongodb 编写 python 类来检查其他人如何制作,例如东西...

感谢您的帮助和信息...

最佳答案

TIME_WAIT 不是一个打开的连接。它是套接字的操作系统状态,以便它可以确保所有数据都已通过。 AFAIK,Linux 上的默认长度是一分钟。看看http://antmeetspenguin.blogspot.com/2008/10/timewait-in-netstat.html ,它有一个很好的解释。不过,您可以告诉内核重用 TIME_WAIT 套接字:

echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

将其缩短至 30 秒。

但是,您应该检查一下为什么要建立如此多的联系。您说您正在使用 mongod 和 pymongo 的 Debian 软件包,它们往往已经过时。您确实希望运行 mongod 2.0.2 和 pymongo 2.1.1。

关于python - pymongo 没有关闭连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com