windows 部署Mongodb时,报由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 错误

最近一个项目使用Mongodb数据库,最初系统运行1天就崩溃了(白天每小时平均PV1000),无论是程序连接Mongodb还是MongoVUEl连接Mongodb都连接不上,报“由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。 127.0.0.1:27017.”错误。娘的啥原因?

通过度娘了解到,需要设置C#连接Mongodb的连接吃,修改原来默认的连接池大小。

设置代码如下:

public DB()
        {
            MongoClientSettings settings = MongoClientSettings.FromUrl(new MongoUrl(connectionString));
            settings.MinConnectionPoolSize = 10;
            settings.MaxConnectionPoolSize = 30;//设定最大连接池  
            //等待列队数量  
            settings.WaitQueueSize = 20;
            
            var client = new MongoClient(settings);
            var server = client.GetServer();
            Database = server.GetDatabase(dbName);
        }

 经过连接池设置后,系统运行7天内没有任何问题,但是7天后还是报同样的错误。娘的咋又出问题了 骂人

再次度娘无果快哭了,后来无意思索,觉得此错误应该是windows系统设置问题。调整度娘查询关键词。最终发现通过设置系统的windows TCP设置解决。

windows系统设置如下:

1. 打开注册表

2. 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下面可以增加一个MaxUserPort参数,设置MaxUserPort设置为65534(十进制)

3. 同样设置TcpTimedWaitDelay参数,其默认为120秒,修改为30秒,表示一个关闭后的端口等待30秒之后可以重新使用



到此设置完毕,系统运行30天没有崩溃,之前的错误也不再出现。大笑


补充:

之前配置MaxUserPort和TCPTimeWaitDelay之后系统运行1个多月,又出现同样错误,目前增加两项参数配置观察系统运行情况(目前运行),配置如下:



参考:

关于Windows频繁打开关闭端口时出现的问题

TCP - WAIT状态及其对繁忙的服务器的影响

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于在Windows部署MongoDB,你可以按照以下步骤进行操作: 1. 下载MongoDB:访问MongoDB官方网站(https://www.mongodb.com/try/download/community)下载适用于WindowsMongoDB Community Server。 2. 安装MongoDB:双击下载的安装程序并按照提示进行安装。在安装过程中,你可以选择自定义安装路径和配置选项。 3. 配置MongoDB环境变量:将MongoDB的安装路径添加到系统的环境变量中。这样,你就可以在任何地方使用命令行访问MongoDB。 4. 创建数据目录:在你想要存储MongoDB数据的位置创建一个目录。例如,你可以在C盘根目录下创建一个名为"data"的文件夹。 5. 配置MongoDB配置文件:在MongoDB安装目录中找到"mongod.cfg"文件并打开它。在文件中,指定数据目录的路径和其他配置选项。例如,你可以将以下内容添加到配置文件中: ``` systemLog: destination: file path: C:\mongodb\log\mongod.log logAppend: true storage: dbPath: C:\mongodb\data ``` 6. 启动MongoDB服务:打开命令提示符,导航到MongoDB的安装目录并执行以下命令启动MongoDB服务: ``` mongod --config "C:\mongodb\mongod.cfg" --install net start MongoDB ``` 现在,MongoDB服务已经成功启动。 7. 连接到MongoDB:打开一个新的命令提示符窗口,执行以下命令连接到MongoDB: ``` mongo ``` 这将打开MongoDB的shell,你可以在其中执行各种数据库操作。 这些是在Windows上启动部署MongoDB的基本步骤。你可以根据需要进行配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值