下面文章转载自火丁笔记,原作者描述了一次MongoDB数据迁移过程中遇到的性能问题及其解决方案,中间追查问题的方法和工具值得我们学习。
下面是其原文:
对于罪魁祸首,作者留给大家去学习,在这里可以给大家做一个简单的描述,先解释几个概念
NUMA是多核心CPU架构中的一种,其全称为Non-Uniform Memory access,简单来说就是在多核心CPU中,机器的物理内存是分配给各个核的,架构简图如下所示:

每个核访问分配给自己的内存会比访问分配给其它核的内存要快,有下面几种访问控制策略:
上面文章中最后使用numactl –interleave命令就是指定其为交叉共享模式。
irqbalance: 这是作者在上面提到的一个占用CPU的进程,这个进程的作用是在多核心CPU的操作系统中,分配系统中断信号的。参见:irqbalance.org
概念说完了,下面是上面问题的简单描述:
我们知道虚拟内存机制是通过一个中断信号来通过进行内存swap的,所以这个irqbalance进程忙,是一个危险信号,在这里是由于在进行频繁的内存交换。这种频繁交换现象称为swap insanity,在MySQL中经常提到,也就是在NUMA框架中,采用不合适的策略,导致核心只能从指定内存块节点上分配内存,即使总内存还有富余,也会由于当前节点内存不足时产生大量的swap操作。
【编辑推荐】
什么是计算机网络拓扑结构
计算机网络的拓扑结构是引用拓扑学中研究与大小,形状无关的点,线关系的方法。 把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构。 网络的拓扑结构反映出网中个实体的结构关系,是建设计算机网络的第一步,是实现各种网络协议的基础,它对网络的性能,系统的可靠性与通信费用都有重大影响。 ① 总线拓扑结构 是将网络中的所有设备通过相应的硬件接口直接连接到公共总线上,结点之间按广播方式通信,一个结点发出的信息,总线上的其它结点均可“收听”到。 优点:结构简单、布线容易、可靠性较高,易于扩充,是局域网常采用的拓扑结构。 缺点:所有的数据都需经过总线传送,总线成为整个网络的瓶颈;出现故障诊断较为困难。 最著名的总线拓扑结构是以太网(Ethernet)。 ② 星型拓扑结构 每个结点都由一条单独的通信线路与中心结点连结。 优点:结构简单、容易实现、便于管理,连接点的故障容易监测和排除。 缺点:中心结点是全网络的可靠瓶颈,中心结点出现故障会导致网络的瘫痪。 ③ 环形拓扑结构 各结点通过通信线路组成闭合回路,环中数据只能单向传输。 优点:结构简单、蓉以是线,适合使用光纤,传输距离远,传输延迟确定。 缺点:环网中的每个结点均成为网络可靠性的瓶颈,任意结点出现故障都会造成网络瘫痪,另外故障诊断也较困难。 最著名的环形拓扑结构网络是令牌环网(Token Ring) ④ 树型拓扑结构 是一种层次结构,结点按层次连结,信息交换主要在上下结点之间进行,相邻结点或同层结点之间一般不进行数据交换。 优点:连结简单,维护方便,适用于汇集信息的应用要求。 缺点:资源共享能力较低,可靠性不高,任何一个工作站或链路的故障都会影响整个网络的运行。 ⑤ 网状拓扑结构 又称作无规则结构,结点之间的联结是任意的,没有规律。 优点:系统可靠性高,比较容易扩展,但是结构复杂,每一结点都与多点进行连结,因此必须采用路由算法和流量控制方法。 目前广域网基本上采用网状拓扑结构。
就计算机某一系统(Cpu,存储系统,输入输出等)其组成结构和合理性-论述
计算机系统中存储层次可分为高速缓冲存储器、主存储器、辅助存储器三级。 主存就是平时所说的内存,计算机运行时操作系统和其它进程的代码存储在其中。 辅存主要指硬盘,也包括其它辅助存储设备,如软盘,U盘,光盘等,可以存放大量数据。 CACHE位于CPU内,在指令执行时起临时存放作用。 在计算机运行的过程中,CACHE和主存、主存和辅存之间存在不停的数据传输和交流,其速度和容量就影响了计算机的性能。 由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,如果CPU和主存之间每条指令和每个数据都进行一次传输,那么计算机的运行速度就受到限制。 因此出现了高速缓冲存储器CACHE,CACHE是位于CPU与主内存间的一种容量较小但速度很快的存储器,用于成批处理数据,以同主存进行交流,而且频繁使用的数据可以保存在CACHE中,当CPU再次使用该数据时,可以直接从高速缓存中读取,减少CPU的等待时间,提高系统效率。 同时在计算机中,内存的容量有限,有时不能一次载入硬盘中CPU所需的数据,就出现虚拟存储技术。 虚拟存储是指当要接收的数据超过内存容量时,系统会在硬盘内分配足够的空间存储这些数据,再把这些数据分成很多页(page),再根据需要实时地把一定的页载入内存,这样用户感觉内存的容量就比真实的容量偏大,从而提高内存和硬盘之间数据传输的效率。 计算机的三级存储系统解决存储器速度、容量、价格三者之间的矛盾,并且提升了CPU访存速度,改善了系统的总体性能。
各种生物的形态结构与其功能是什么关系?与生活环境又是什么关系
结构与功能的关系:什么样的结构决定什么样的功能,什么样的功能就有什么样的结构与之相适应生物与环境的关系:生物既能适应环境又能影响环境
发表评论