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,请教是出于什么考虑设置为分片呢?