mongoDB cluster insert slow

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:

1、路由端(cnsz082164:24810),拖看到最近30天的操作,插入量在逐渐上升。

2、主要操作集中在如下表中,从数据分布上看2个分片时均衡的,
db.sales_msg_mission_message_record.stats()
{

    "sharded" : true,
    "capped" : false,
    "ns" : "salesmsg.sales_msg_mission_message_record",

"count" : 157233438,

    "size" : 172997832174,
    "storageSize" : 13924204544,
    "totalIndexSize" : 27643408384,
    "indexSizes" : {
            "_id_" : 2603737088,
            "empno_1" : 1459154944,
            "empno_1_msg_id_1" : 18130411520,
            "empno_1_send_date_-1" : 5450104832
    },
    "avgObjSize" : 1100.0359665989113,
    "nindexes" : 4,
    "nchunks" : 4033,
    "shards" : {
            "mpssmsg_s0" : {
                    "ns" : "salesmsg.sales_msg_mission_message_record",
                    "size" : 88200479556,
                  **  "count" : 80030507,**
                    "avgObjSize" : 1102,
                    "storageSize" : 6729953280,
            "mpssmsg_s1" : {
                    "ns" : "salesmsg.sales_msg_mission_message_record",
                    "size" : 84797352618,
                  **  "count" : 77202931,**
                    "avgObjSize" : 1098,
                    "storageSize" : 7194251264,

3、检查了告警节点的日志,发现从10点左右就有后端数据库的性能告警,提示从库比较困难追上主库migrate的步伐,说明主库端有较大的数据变动。
此点与该节点的操作图样一致。

4、从该节点的evict的图形看,从11点25分开始“checkpoint blocked page eviction”指标开始直线上升,检查数据库中配置的cachesizeGB只有10Gb,同时检查该库的cg设置:我们生产库上cpu:memory=1:20,貌似cg中的配置内存分配是不够的

DB_TYPE INSTANCE_NAME USER_NAME GROUP_NAME CPU_CORE MEMORY_GB READ_IO WRITE_IO READ_MB WRITE_MB SUB_SYSTEMS
------- ------------- --------- ---------- -------- --------- ------- -------- ------- -------- -----------
mongodb MCSS_S1A0 mongodb mongodb 1.0 4.0 0 0 0 0 cpu,cpuacct,memory
mongodb MCSS_S0D0 mongodb mongodb 8.0 160 0 0 0 0 cpu,cpuacct,memory
mongodb SDPMG_S0D0 mongodb mongodb 3.5 35 0 0 0 0 cpu,cpuacct,memory

现有情况下,建议将此库的内存配置调高,同时需调整数据库中的cacheSizeGB参数为分配内存的一半。
另外:
1、请与开发、运营同事确认,近期的insert操作量持续增高,是否为常态?是否有持续放大的趋势,如果是,类似于这种高频dml操作,会消耗大量的cacheSize,建议将此设置调大些。
2、看到该库的存储使用只有不到2G,请教是出于什么考虑设置为分片呢?

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
NoSQL MongoDB Docker
基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(1)
基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(1)
188 0
基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(1)
|
NoSQL Java MongoDB
基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(3)
基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(3)
188 0
|
NoSQL MongoDB Docker
基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(2)
基于docker容器下mongodb 4.0.0 的Replica Sets+Sharded Cluster集群(2)
203 0
|
存储 SQL NoSQL
MongoDB:2-MongoDB的基本命令(insert、delete、find、update)
MongoDB:2-MongoDB的基本命令(insert、delete、find、update)
203 0
|
存储 SQL NoSQL
MongoDB的基本命令(insert、delete、find、update)
MongoDB的基本命令(insert、delete、find、update)
422 0
|
存储 NoSQL 数据库
MongoDB Sharded cluster架构原理
为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。 当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sh
|
NoSQL 数据库
MongoDB Sharded Cluster Routing Policy Explained
Sharding is a common method for distributing data across multiple machines to meet the very real demands of big data growth. In this article, I aim to
3203 0
MongoDB Sharded Cluster 路由策略
本文是对MongoDB 世界大会上『Life of a Sharded Write』主题分享的总结,这个分享很有意思,主要内容是介绍 MongoDB Sharded Cluster 里写操作的路由策略,以及config server变为复制集后面临的一些挑战。 如果不了解 Sharded Cl
|
存储 NoSQL 数据库
MongoDB · 特性分析 · Sharded cluster架构原理
为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。 当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sh
2987 0