数据库优化
提高读写效率
若使用mongostat监控到dirty和used的差距较大时,存储引擎会大量的使用磁盘,可在storage配置项下指定存储引擎,并配置存储引擎适当的缓存大小
storage:
   dbPath: /var/lib/mongo
   journal: 
      enabled: true
   engine: wiredTiger
   wiredTiger:
      engineConfig:
         cacheSizeGB: 0.25
         journalCompressor: snappy
      collectionConfig:
         blockCompressor: snappy 
      indexConfig:
         prefixCompression: true
engine:指定存储引擎默认就是wiredTiger存储引擎,还可以是inMemory内存存储引擎,但是一般不用wiredTiger:wiredTiger存储引擎的配置engineConfig:引擎配置cacheSizeGB:缓存大小,最小0.25G,默认为系统内存的一半再减去1G,若该值小于256MB就会使用256MBjournalCompressor:数据压缩格式,默认snappy格式,也可以是zlib格式或none不压缩
collectionConfig:集合配置blockCompressor:集合数据压缩格式,默认snappy格式,也可以是zlib格式或none不压缩
indexConfig:索引配置prefixCompression:是否开启索引前缀压缩,默认开启
连接数
默认MongoDB支持最大连接数为65536个,使用db.serverStatus().connections可查询当前连接数量 ,在net配置项下可配置最大连接数
net:
   maxIncomingConnections: 65536
若该配置不起作用,很有可能是当前Linux系统下的文件句柄数量不够导致的,所以为了性能考虑,使用ulimit -n命令可增加文件句柄

Comments NOTHING