首页 > 开发 > 综合 > 正文

MongoDB集群性能优化

2024-07-21 02:53:13
字体:
来源:转载
供稿:网友
1、软件方面MongoDB版本选择锁粒度Global(2.2-)DB锁(2.2+)Collection(2.4+)Document锁(2.6+)读写锁、写优先锁性能逐渐增强启发尽量选择新的稳定版本性能提升稳定bugs fixed索引创建设计不合理长索引字符串等idobjectid12字节应用程序替换月业务需要uid灵活控制索引设计过多索引使用不合理启发使用短索引小索引字段业务合理设计数据量增大热点数据超过内存频繁swap导致性能地下内存规划内存大于热门数据加上索引启发加大内存容量数据空洞大量删除数据造成大量数据碎片和空间内存中包含空洞数据利用率低数据收缩Online compactoffline收缩数据库无空洞、无碎片、进奏、性能较高2、硬件方面物理内存小硬盘性能检查无法满足目前的读写并发优化方案加大内存容量硬件类型SSD》SDS》SATA3、如何尽快发现MongoDB集群性能问题监控的方式机器资源监控CPU资源核心数top内存资源内存使用和剩余情况free -g磁盘资源磁盘空间df -h性能iostat -xdk 1网络资源ifstat 1负载均衡load average<=总核数语义监控进程管理是否正常工作模拟发送请求预期结果对比如果持续返回错误表示性能有问题错误日志监控进程管理服务是否正常阈值设置1分钟基于日志的准实时统计如果超过阈值性能,数据集群可能出现问题monostat读写情况、加锁、索引命中、缺页终端、读写监控分析locked、faults、miss、qr|qw内存、内冷数据、索引设置不合理、qr|qw堆积mongotop追踪mongodb读写所用时间表级性能问题表级读写时间如何收缩数据提升性能Online ComPRessOffline 收缩数据如何Scale Up方式提升性能概念Scale Vertically纵向扩展软件方面锁粒度问题索引优化更紧凑索引业务层优化SQL语义优化批量读写优化连接池优化如何Scale out方式提升性能概念Scale horizontally横向扩展,向外扩展数据迁移增加一个新增副本集合更通用数据迁移方案时效性过去作废迁移简单业务开始写入,到时终止永久数据消息队列(写入命令进行回放)中间存储快照集群优化集合尽早发现机器监控报警语义控制报警错误日志报警mongostatmongotopscale outscale up
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表