[mongo]性能机制,分析工具

news2024/9/29 7:16:13

性能机制

应用端

  • image

应用端-选择节点

  • 对于复制集读操作,选择哪个节点是由readPreference决定的

    • primary/primaryPreferred
    • secondary/secondaryPreferred
    • nearest
  • 如果不希望一个远距离节点被选择

    • 将它设置为隐藏节点
    • 通过标签(Tag)控制可选的节点
    • 使用 nearest 方式;

应用端-排队等待

  • 排队等待连接是如何发生

    • 总连接数大于允许的最大连接数maxPoolSize
  • 如何解决

    • 加大最大连接数(不一定有用)
    • 优化查询性能

应用端-连接与认证

  • 如果一个请求需要等待创建新连接和进行认证,相比直接从连接池获取连接,它将 耗费更长时间
  • 可能解决方案
    • 设置 minPoolSize(最小连接数)一次性创建足够的连接
    • 避免突发的大量请求

数据库端

  • image

数据库端-排队等待

  • ticket 不足引起的排队等待,问题往往不在 ticket 本身,而在于为什么正在执行
    的操作会长时间占用 ticket
  • 解决
    • 优化 CRUD 性能可以减少 ticket 占用时间
    • zlib 压缩方式也可能引起 ticket 不足,因为 zlib 算法本身在进行压缩、解压时需要的时 间比较长,从而造成长时间的 ticket 占用

数据库端-执行请求(读)

  • image
  • 不能命中索引的搜索和内存排序是导致性能问题的最主要原因

数据库端-执行请求(写)

  • image
  • image
  • 磁盘速度必须比写入速度要快才能保持缓存水位

数据库端-合并结果

  • image
  • 如果顺序不重要则不要排序、
  • 尽可能使用带片键的查询条件以减少参与查询的分片数

网络的考量

  • image

性能瓶颈总结

  • image

性能排查工具

mongostat

  • mongostat: 用于了解 MongoDB 运行状态的工具
  • image

mongotop

  • mongotop: 用于了解集合压力状态的工具
  • image

mongod 日志

  • 日志中会记录执行超过 100ms 的查询及其执行计划
    • 参考

mtools

  • 常用指令:
    • mplotqueries 日志文件:将所有慢查询
      通过图表形式展现
    • mloginfo --queries 日志文件:总结出
      所有慢查询的模式和出现次数、消耗时
      间等
  • https://github.com/rueckstiess/mto
    ols

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/853028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享Java技术下AutojsPro7云控代码

引言 有图有真相,那短视频就更是真相了。下面是三大语言的短视频。 Java源码版云控示例: Java源码版云控示例在线视频 核心技术:各个编程语言的WebSocket技术。 Java:Nettey、Net:Fleck、Python:Tornad…

Android Framework底层原理之WMS的启动流程

一 概述 今天,我们介绍 WindowManagerService(后续简称 WMS)的启动流程,WMS 是 Android 系统中,负责窗口显示的的服务。在 Android 中它也起着承上启下的作用。 如下图,就是《深入理解 Android》书籍中的…

模拟实现消息队列项目(完结) -- 基于MQ的生产者消费者模型

目录 前言 1. 生产者 2. 消费者 3. 启动消息队列服务器 4. 运行效果 结语 前言 在上一章节,我们完成了消息队列的客户端部分,至此我们整个消息队列项目就构建完成了,那我们做的这个消息队列到底有什么效果,以及如何去使用我们自己的消息队列呢?那么本文,就将我们的MQ进行实战操…

GSEA富集分析结果详解

1. GSEA富集分析原理图 2. GSEA富集分析过程 1. 计算富集分数(ES) 富集分数:S 反应基因集(比如某个通路内的基因集)成员 s 在排序基因集 L(比如根据 logFC 排序的差异基因集,默认降序&#xf…

“为爱起航,一村一书院”在阳朔落地

2023年8月1-5 日,“关爱祖国下一代,助力乡村振兴” 之为爱起航项目在阳朔举行。 本次活动由千里思乡村振兴促进会联合中国文化交流大使组委会携同大湾区19位师生加入到首批“为爱起航,一村一书院”项目中,同时,本项目得…

分页查询从接口到实现,统一对日期类型进行格式化处理

编写Service实现类编写Mapper的sql&#xff0c;但复杂的sql语句需要写到mapper对应的xml文件中日期类型格式化处理 /*** 扩展springmvc框架的消息转换器* param converters*/Overrideprotected void extendMessageConverters(List<HttpMessageConverter<?>> conve…

初识Container

1. 什么是Container&#xff08;容器&#xff09; 要有Container首先要有Image&#xff0c;也就是说Container是通过image创建的。 Container是在原先的Image之上新加的一层&#xff0c;称作Container layer&#xff0c;这一层是可读可写的&#xff08;Image是只读的&#xff0…

天津农商银行智能加密锁管理工具常见问题

天津农商银行智能加密锁管理工具&#xff0c;在使用过程中&#xff0c;可能出现一些莫名的错误&#xff0c;针对亲身遇到的坑&#xff0c;分享给大家&#xff0c;以备不时之需。 一、转账业务导入文件中文汉字出现乱码&#xff0c;如下图。 原因是文件编码不正确&#xff0c;…

MySQL:表的约束和基本查询

表的约束 表的约束——为了让插入的数据符合预期。 表的约束很多&#xff0c;这里主要介绍如下几个&#xff1a; null/not null,default, comment, zerofill&#xff0c;primary key&#xff0c;auto_increment&#xff0c;unique key 。 空属性 两个值&#xff1a;null&am…

【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)

案例引入 游戏角色有攻击力和防御力&#xff0c;在大战Boss前保存自身的状态(攻击力和防御力)&#xff0c;当大战Boss后攻击力和防御力下降&#xff0c;可以从备忘录对象恢复到大战前的状态 传统设计方案 针对每一种角色&#xff0c;设计一个类来存储该角色的状态 【分析】…

cpu util margin,cpu freq margin

【cpufreq governor】cpu util 和 cpu margin怎么计算的_悟空明镜的博客-CSDN博客 cpu util margin&#xff0c;cpu freq margin 根据policy_util schedtune_margin 作为算力选对应的cpu cluster或调频

EXCEL表格操作

1.带格式合并&#xff1a;D6&"欢迎光临"&E6 2.带格式复制粘贴&#xff1a;ctrlc 复制&#xff0c;选择对于单元格点击选择性粘贴&#xff1a;粘贴值和数字格式

docker-compose 安装kafka集群

点击关注《golang技术实验室》公众号****&#xff0c;将****获取更多干货 介绍 Kafka是一种高性能的分布式流处理平台&#xff0c;它的集群工作原理如下&#xff1a; 假设你是一个快递员&#xff0c;Kafka集群就是一个快递中转站。在这个中转站中&#xff0c;有很多个小窗口…

基于TF-IDF+TensorFlow+词云+LDA 新闻自动文摘推荐系统—深度学习算法应用(含ipynb源码)+训练数据集

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境TensorFlow环境方法一方法二 模块实现1. 数据预处理1&#xff09;导入数据2&#xff09;数据清洗3&#xff09;统计词频 2. 词云构建3. 关键词提取4. 语音播报5. LDA主题模型6. 模型构建 系统测试工程源代码下载…

分布式 - 消息队列Kafka:Kafka生产者发送消息流程和3种方式

文章目录 1. Kafka 生产者2. kafaka 命令行操作3. Kafka 生产者发送消息流程4. Kafka 生产者发送消息的3种方式1. 发送即忘记2. 同步发送3. 异步发送 5. Kafka 消息对象 ProducerRecord 1. Kafka 生产者 Kafka 生产者是指使用 Apache Kafka 消息系统的应用程序&#xff0c;它们…

wsl(在windows中使用呢linux系统)适用于windows的linux子系统

步骤可参考微软官方文档https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package 在这里主要列举一些需要注意的点 wsl2的要求 一定要检查下windows版本&#xff0c;版本不对的先升级版本不然无法使用wsl2 wsl支持…

P4381 [IOI2008] Island (求基环树直径)

也许更好的阅读体验 D e s c r i p t i o n \mathcal{Description} Description 给一个基环树森林&#xff0c;求每棵树的直径的和&#xff0c;基环树的直径定义为&#xff0c;从一个点出发只能走到没走过的点&#xff08;即一个环不能把所有边都选&#xff09;&#xff0c;所经…

史上最细,自动化测试-logging日志采集详细实战(二)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、测试场景 给登…

固态硬盘数据恢复方法有哪些?三种恢复方法助您解忧

近年来固态硬盘比较流行&#xff0c;因为工作的需要我也在使用固态硬盘&#xff0c;它真的给我带来了很多的方便。但是最近&#xff0c;我固态硬盘里的文件有些不知道怎么就丢失了&#xff0c;这给我带来了很大的困扰。有什么方法可以找回来吗&#xff1f; 固态硬盘&#xff08…

Netty客户端同步获取结果

上次服务间通信是异步的&#xff0c;现在想实现客户端同步拿到服务端响应结果。实现如下&#xff1a; 在NettyClientHandler类中增加一个结果缓存器 Map<Long,Protocol<ResponseMsg>> resultMap new ConcurrentHashMap<>();修改方法 Override protected vo…