Windows下MongoDB优化及问题处理
1、MongoDB 服务器CPU占用100%
给Mongodb对应数据库中的表建立索引,这里我采用使用工具:NoSQL Manager for MongoDB
直接在表的属性栏,选择Indexes,右键创建索引即可:创建索引之后,服务器CPU明显下降
{"RealWriteTime":1}
2、MongoDB 内存占用到一定比重之后,会自动释放?
目前我采用了两台服务器,一台服务器数据采集Lab端Mongo,然后将采集到的数据同步到另一台服务器Server端Mongo;Lab端内存占用到达90%时,Mongo自动释放了内存占用,一下恢复到了百分之几的占用。(过程中会卡顿一分钟左右,系统无法使用:mongodb与IIS部署在同一台服务器上)
Lab端配置:
处理器:Inter Core i5-6400CPU(4核)
内存:4G
Server端配置(存在于虚拟机中):
处理器:Intel Xeon CPU E5-2630 v4(16核:4*4)
内存:24G
3、The wait queue for acquiring a connection to server is full
多线程访问Mongodb时,容易出这种问题;据调查,Mongodb默认连接限制是100。
You application exceeded limit of opened connections. Default connection pool size is 100.
You can set pool size on creating MongoClient
new MongoClient("mongodb://localhost/?maxPoolSize=555"); or new MongoClient(new MongoClientSettings { MaxConnectionPoolSize = 555, Server = new MongoServerAddress("localhost") });