MongoDB是什么,怎么用?看完你就知道了
mongodb 只有当索引和事变集都可放入内存时,才会碰着CPU瓶颈,CPU在mongodb行使中的浸染是用来检索数据,假如看到CPU行使饱和的环境,可以通过查询慢查询日记,排查是不是查询的题目导致的,假如是可以通过添加索引来办理题目 mongodb写入数据时会行使到CPU,可是mongodb写入时刻一次只用到一个核,假若有频仍的写入举动,可以通过度片来办理这个题目 (3)内存 大内存是mongodb的保障,假如事变集巨细高出内存,将会导致机能降落,由于这将会增进数据加载入内存的举措 (4)硬盘 mongodb默认每60s会与磁盘逼迫同步一次,称为靠山革新,会发生I/O操纵。在重启时mongodb会将磁盘内里的数据加载至内存,高速磁盘将会镌汰同步的时刻 (5)文件体系 行使ext4 和 xfs 文件体系 禁用最后会见时刻
(6)文件描写符 linux 默认文件描写符是1024,必要大额度的晋升这个额度 (7)时钟 mongodb各个节点处事器之间行使ntp处事器 2.安详 (1)绑定IP 启动时行使 - -bind_ip 呼吁 (2)身份验证 启动时行使 - -auth 呼吁
(3)副本集身份认证 行使keyFile,留意keyFile文件的权限必需是600,否则会启动不起来 3.数据的导入与导出
4.处事器设置 (1)拓扑布局 搭建副本集至少必要两个节点,个中仲裁结点不必要有本身的处事器 (2)Journaling日记 写数据时会先写入日记,而此时的数据也不是直接写入硬盘,而是写入内存 可是Journaling日记会耗损内存,以是可以在主库上面封锁,在从库上面启动 可以单独为Journaling日记行使一块固态硬盘 在插入时,可以通过驱动确保Journaling插入后再反馈,可是会很是影响机能。 5.日记 logpath 选项指定日记存储地点 -vvvvv 选项(v越多,输出越具体) db.runCommand({logrotare:1}) 开启转动日记 6.数据库监控呼吁 (1)serverStatus 这里写图片描写
(2)top (3)db.currentOp() 7.mongostat 动态展示mongodb勾当数据 8.web节制台 占用当前mongodb监听端口往上1000号的端口 9.备份与规复 (1)mongodump 把数据库内容导出成BSON文件,而mongorestore能读取并还原这些文件 (2)mongorestore 把导出的BSON文件还原到数据库 (3)备份原始数据文件 可以这么做,可是,操纵之前必要举办锁库处理赏罚 db.runCommand({fsync:1,lock:true}) db.$cmd.sys.unlock.findOne() 哀求解锁操纵,可是数据库不会立即解锁,必要行使db.currentOp()验证。 10.压紧与修复 (1)修复 mongd --repair 修复全部数据库 db.runCommand({repairDatabase:1}) 修复单个数据库 修复就是按照Jourling文件读取和重写全部数据文件并重建各个索引 (2)压紧
压紧,会重写数据文件,并重建荟萃的所有索引,必要停机可能在从库上面运行,假如必要在主库上面运行,必要添加force参数 担保加写锁。 11.机能调优 (1)监控磁盘状态
(2)为晋升机能搜查索引和查询 总的来说,扫描尽也许少的文档。 担保没有冗余的索引,冗余的索引会占用磁盘空间、耗损更多的内存,在每次写入时还需做更多事变 (3)添加内存
dataSize 数据巨细 和 indexSize 索引巨细,假如两者的和大于内存,那么将会影响机能。 storageSize高出dataSize 数据巨细 两倍以上,就会因磁盘碎片而影响机能,必要压缩。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |