系统稳定性与哪些因素
系统稳定性与哪些因素有关
系统稳定性与哪些因素有关,稳定性是指“测量仪器保持其计量特性随时间恒定的能力。通常稳定性是指测量仪器的计量特性随时间不变化的能力。以下分享系统稳定性与哪些因素有关。
系统稳定性与哪些因素1
夜幕降临
方法异常线上报警,定位日志,空指针异常,查询数据库结果为空,定位此业务线查询从库,数据库正常,查询结果正常,初步确定是主从延迟。问题在几秒钟恢复,影响次数个位数,接下来几个月数次出现此问题,直到双11备战第一天延迟更加严重了。
长夜慢慢
定位主从同步延迟问题了,查看从库的机器情况及慢日志。从库执行大量的删除某表记录操作,性能非常差。在看其执行语句,发现没有索引,在看下主库这张表上有这个索引。这种情况下为什么出现主从延迟高呢?在这里简单介绍下mysql主从同步原理。
mysql主从复制需要三个线程,masterbinlog dump thread、、slaveI/O thread 、SQL thread、。
master
1、 binlog dump线程: 当主库中有数据更新时,那么主库就会根据按照设置的binlog格式,将此次更新的事件类型写入到主库的binlog文件中,此时主库会创建log dump线程通知slave有数据更新,当I/O线程请求日志内容时,会将此时的binlog名称和当前更新的位置同时传给slave的I/O线程。
slave
2、I/O线程 :该线程会连接到master,向log dump线程请求一份指定binlog文件位置的副本,并将请求回来的binlog存到本地的relay log中,relay log和binlog日志一样也是记录了数据更新的事件,它也是按照递增后缀名的方式,产生多个relay log hostname-relay-bin.000001、文件,slave会使用一个index文件 hostname-relay-bin.index、来追踪当前正在使用的relay log文件。
3、SQL线程 :该线程检测到relay log有更新后,会读取并在本地做redo操作,将发生在主库的事件在本地重新执行一遍,来保证主从数据同步。此外,如果一个relay log文件中的全部事件都执行完毕,那么SQL线程会自动将该relay log 文件删除掉。
下面是整个复制过程的原理图:
结合以上的mysql主从同步原理,我们线上这次问题原因已经出来了,其实慢SQL只是我们原因的表象,更加深层次的原因是从库 SQL thread顺序执行Relay log的事件。执行任意事件性能不好的话都会给我们在来主从的高延迟。
黎明曙光
从库建立索引,降低主从延迟性,对线上业务影响无感知。
我们系统架构情况如下:
为了减少数据库主库的压力,每条业务线都有自己从库,目前我们数据库的情况是1主8从。如果说主从延迟非常高的话最明显的影响就是我们每条业务线的读延迟,依赖读的业务都会有问题。
主从延迟是影响我们系统稳定性的因素之一。如何降低主从延迟减少其对我们系统的影响?业界内减少主从延迟方案有多种下面简单介绍几种:
服务的基础架构在业务和mysql之间加入memcache或者Redis的cache层。降低mysql的读压力;
使用比主库更好的硬件设备作为slave;
sync_binlog在slave端设置为0;
–logs-slave-updates 从服务器从主服务器接收到的更新不记入它的二进制日志;
禁用slave的binlog。
系统稳定性与哪些因素2
系统的稳定性以及稳定性的几种定义
一、系统 研究系统的稳定性之前,
我们首先要对系统的概念有初步的认识。在数字信号处理的理论中,人们把能加工、变换数字信号的实体称作系统。由于处理数字信号的系统是在指定时刻或时序对信号进行加工运算所以这种系统被看作是离散时间的',也可以用基于时间的语言、表格、公式、波形等四种方法来描述。从抽象的意义来说,系统和信号都可以看作是
序列。但是,系统是加工信号的机构,这点与信号是不同的。人们研究系统还要设计系统,利用系统加工信号、
服务人类,系统还需要其它方法进一步描述。描述系统的方法还有符号、单位脉冲响应、差分方程和图形。中国学者钱学森认为:
系统是由相互作用相互依赖的若干组成部分结合而成的,具有特定功能的有机整体,而且这个有机整体又是它从属的更大系统的组成部分。
二、系统的稳定性
一个系统,若对任意的有界输入,其零状态响应也是有界的,则称该系统是有界输 有界输出(Bound Input Bound Output------ BIBO)稳定的系统,简称为稳定系统。即,若系统对所有的激励|f·)|≤Mf,其零状态响应|yzs(·)|≤My(M为有限常数),则称该系统稳定。
三、连续(时间)
系统与离散(时间)系统 连续系统:时间和各个组成部分的变量都具有连续变化形式的系统。系统的激励和响应均为连续信号。离散系统。当系统 各物理量随时间变化的规律不能用连续函描述时,而只在离散的瞬间给出数值,这种系统称为离散系统 。系统的激励和响应均为离散信号。
四、因果系统
因果系统 (causal system)是指当且仅当输入信号激励系统时,才会出现输出(响应)的系统。也就是说,因果系统的(响应)不会出现在输入信号激励系统的以前时刻。即输入的响应不可能在此输入到达的时刻之前出现的系统;也就是说系统的输出仅与当前与过去的输入有关,而与将来的输入无关的系统。
系统稳定性与哪些因素3
什么叫做稳定性
稳定性是指“测量仪器保持其计量特性随时间恒定的能力。通常稳定性是指测量仪器的计量特性随时间不变化的能力。若稳定性不是对时间而言,而是对其他量而言,则应该明确说明。稳定性可以进行定量的表征,主要是确定计量特性随时间变化的关系。自动控制系统的种类很多,完成的功能也千差万别,有的用来控制温度的变化,有的却要跟踪飞机的飞行轨迹。但是所有系统都有一个共同的特点才能够正常地工作,也就是要满足稳定性的要求。
仪器测量
通常可以用以下两种方式:用计量特性变化某个规定的量所需经过的时间,或用计量特性经过规定的时间所发生的变化量来进行定量表示。例如:对于标准电池,对其长期稳定性(电动势的年变化幅度)和短期稳定性(3~5天内电动势变化幅度)均有明确的要求;如量块尺寸的稳定性,以其规定的长度每年允许的最大变化量(微米年)来进行考核,上述稳定性指标均是划分准确度等级的重要依据。
对于测量仪器,尤其是基准、测量标准或某些实物量具,稳定性是重要的计量性能之一,示值的稳定是保证量值准确的基础。测量仪器产生不稳定的因素很多,主要原因是元器件的老化、零部件的磨损、以及使用、贮存、维护工作不仔细等所致。测量仪器进行的周期检定或校准,就是对其稳定性的一种考核。稳定性也是科学合理地确定检定周期的重要依据之一。 [1]
示例
什么叫稳定性呢?我们可以通过一个简单的例子来理解稳定性的概念。一个钢球分别放在不同的两个木块上,A图放在木块的顶部,B图放在木块的底部。如果对钢球施加一个力,使钢球离开原来的位置。A图的钢球就会向下滑落,不会再回到原来的位置。而B图的钢球由于地球引力的作用,会在木块的底部做来回的滚动运动,当时间足够长时,小球最终还是要回到原来的位置。我们说A图的情况就是不稳定的,而B图的情况就是稳定的。
上面给出的是一个简单的物理系统,通过它我们对于稳定性有了一个基本的认识。稳定性可以这样定义:当一个实际的系统处于一个平衡的状态时就相当于小球在木块上放置的状态一样、如果受到外来作用的影响时相当于上例中对小球施加的力、,系统经过一个过渡过程仍然能够回到原来的平衡状态,我们称这个系统就是稳定的,否则称系统不稳定。一个控制系统要想能够实现所要求的控制功能就必须是稳定的。在实际的应用系统中,由于系统中存在储能元件,并且每个元件都存在惯性。这样当给定系统的输入时,输出量一般会在期望的输出量之间摆动。此时系统会从外界吸收能量。对于稳定的系统振荡是减幅的,而对于不稳定的系统,振荡是增幅的振荡。前者会平衡于一个状态,后者却会不断增大直到系统被损坏。
判别
既然稳定性很重要,那么怎么才能知道系统是否稳定呢?控制学家们给我们提出了很多系统稳定与否的判定定理。这些定理都是基于系统的数学模型,根据数学模型的形式,经过一定的计算就能够得出稳定与否的结论,这些定理中比较有名的有:劳斯判据、赫尔维茨判据、李亚谱若夫三个定理。这些稳定性的判别方法分别适合于不同的数学模型,前两者主要是通过判断系统的特征值是否小于零来判定系统是否稳定,后者主要是通过考察系统能量是否衰减来判定稳定性。
当然系统的稳定性只是对系统的一个基本要求,一个令人满意的控制系统必须还要满足许多别的指标,例如过渡时间、超调量、稳态误差、调节时间等。一个好的系统往往是这些方面的综合考虑的结果。