支付宝2015年发生了大规模的宕机事件,原因是杭州市萧山区某地光纤被挖断导致,为确保异地容灾、多活,后面专门进行了全链路单元化改造,整个交易链路都进行了单元化改造,并且经常在大促前夕进行单机房演练;
文章目录 一、离散时间系统稳定性 二、离散时间系统稳定性实际用法 一、离散时间系统稳定性 ---- 线性时不变 LTI 系统 , 如果 " 输入序列 " 有界 , 则 " 输出序列 " 也有界 ; 充要条件 : \sum^{+\infty}_{m = -\infty} |h(n)| < \infty 二、离散时间系统稳定性实际用法 ---- 实际用途 : 设计一个 滤波器 , 设计完 滤波器参数 后 ,
组成稳定性(compositional stability): 评估群落结构随时间的变化。 网络中微生物群落的组成稳定性计算为: 公式中,v为同一地点在多个连续时间点采集的样本数,S为网络中总OTU数。yi,k为样本i中OTU k的丰度。 (ps:这个指数一般用来计算带时间节点的数据) 在文章中的应用为: 图中显示的是时间间隔为一年条件下(order=2,其中x轴的1表示的第二年与第一年之间的网络物种组成稳定性值,2表示的是第三年与第二年之间的网络物种组成稳定性值 这里的图中显示的就是order=3,4,5,6条件下,网络物种组成的稳定性值。 Long-term exposure to elevated CO2 enhances plant community stability by suppressing dominant plant species
测试了一段时间,还不错,很稳定,当然时间并不长约(4.478小时)。
依据考察目的的不同,上市产品稳定性考察可分为常规稳定性考察、刚上市产品的稳定性考察和特殊稳定性考察。 常规稳定性考察:针对正常生产条件下的常规产品而进行的持续稳定性考察。 稳定性考察条件 中国大部分地区位于亚热带,属于国际协调委员会ICH规定的Ⅱ区,按其规定,上市产品常规稳定性考察条件为:温度25℃±2℃,相对湿度60%±5%。 《中国药典》2015年版对常规品种稳定性考察规定的条件为:温度25℃±2℃,相对湿度60%±10。对于特殊产品,应参照其特殊储存条件设置考察条件。 稳定性考察批次和取样时间点 常规稳定性考察:通常要求同一品种每个规格至少考察1批。对于稳定性较差(如容易降解)的产品,应该根据该产品历史稳定性数据适当增加考察批数。 稳定性数据的评价 稳定性考察有助于发现产品稳定性变化趋势,确保产品在运输、储存和使用过程中的质量。
二、大促时稳定性保障 大促的时候因为流量比往常高几倍,甚至是几十倍,更需要保证系统稳定性。 1、避免触发全量主、从同步 Redis主从机制分全量同步、增量同步2种,在大促的时候如果触发主、从同步全量同步是非常危险的,在主上可能会阻塞请求,从因为也要将数据加载到内存中,所以也可能导致客户端报错, 2)、repl-timeout 主从之间的复制超时时间,默认为60s,可以根据情况自己调整。 2) client buffer的大小达到了hard limit,server也会立即断开和客户端的连接。 2、aof rewrite 如果持久化方式配置为aof的话,大促的时候需要注意不要触发aof rewrite,因为这个也会阻塞用户的请求。
软件系统的稳定性,主要决定于整体的系统架构设计,然而也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。 软件系统的稳定性,主要决定于整体的系统架构设计,然而也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃。
本期我们来谈下稳定性生产这个话题,稳定性建设目标有两个:降发生、降影响,在降发生中的措施是做到三点:系统高可用、 高性能、 高质量,三高问题确实是一个很热的话题,里面涉及很多点。 一、分布式系统稳定性建设模式那怎样完成降发生和降影响两个目标呢,那就需要一个好的建设模式,稳定性建设模式是指在开展稳定性建设工作过程中应重点关注的技术方法或方案,这里面有一系列技术模式来支撑稳定性能力实现 2、强弱依赖分析对于系统的每一个依赖,都要识别出以下几点:依赖强弱、同步或异步、依赖权重。 2、建设组织保障能力包括人力资源支持、技术资源支持、组织优化3、建设稳定性保障体系包括如下内容:在建设之后,我们可以依照如下指标来进行衡量建设的效果以上就是我们本期稳定性生产方面的内容了,故障的发生是复杂多样的 ,定义业务或者服务的slo以结构化,来保障稳定性能力。
即使leader上有m1,m2,m3,consumer此时只能读到m1。 此时A宕机了。B变成了新的leader了,A从ISR列表中移除。B有m2,B会发给C,C收到m2后,m2被commit。 第三次Follower FETCH处理完成 2 2 未写⼊新数据 3 Remote LEO 第三次Follower FETCH处理完成 1 2 第3次fetch中offset为2 3 Leader HW 第三次Follower FETCH处理完成 1 2 min(RemoteLEO=2,LeaderLEO)=2 3 Follower LEO 第三次Follower FETCH处理完成 2 2 未写⼊新数据 ,需要执⾏⽇志截断,但发现此时分区HW=2⽽A之前的HW值也是2,故不做任何调整。 如果多个生产者,生产者1先发送一一个请求, 生产者2后发送请求,此时生产者1返回可恢复异常,重试一定次数成功了。虽然生产者1先发送消息,但生产者2发送的消息会被先消费。 2.
这样就可以满足我们需求;对应优化流程如下:图片具体分为两个步骤:1、释放内存:释放PageCache内存,保证新的空闲内存尽可能连续,具体的处理措施是echo 1 > /proc/sys/vm/drop_cache2、 的实现),具体的命令是echo 36 > /proc/sys/vm/pagecache_limit_ratio优化效果经过上述的优化之后,系统的空闲内存分布如下:图片此时的空闲也是在4G左右,但是大于等于2阶的高阶内存占比达到 读成功率由99.95%提升到99.999%四、结论针对账单平台的ES系统的读写成功率未满足要求,进行了如下优化措施:1、内存回收慢优化:优化ES文件读取方式,加快内存回收,降低CPU在内存回收方面消耗;2、 高阶内存不足优化:整理碎片化内存,保证有充足高阶内存,降低CPU在内存碎片整理消耗;经过上述优化措施后,ES系统的读写成功率达到99.999%,超出当前的可用性要求,保障ES在生产环境稳定性。 五、参考1、Node Hot threads API2、Physical Page Allocation3、Describing Physical Memory
稳定性对产品的重要性不言而喻。 而作为质量保障,在稳定性测试方面的探索也在不断演化。 稳定性测试的场景设计简单,和线上实际运行有较大的出入。带来的直接结果是稳定性测试发现的问题比较有限,做完之后仍然没有特别大的信心。 图片 那稳定性测试究竟该如何做?别人在怎么做? 02 对稳定性测试三个阶段的定义 目前稳定性测试采用的性能测试场景设计使用混合场景模式,基于产品业务模型或用户行为来定义场景,包括产品的典型业务、典型业务之间的组合关系、典型业务之间的比例等,这里不详细介绍 图片 我们对压力变化模型的不精确定义为: 1.初始并发数需要配置,保持时间默认30min 2.上升时间T需要配置 3.最大并发数需要配置,默认为初始并发数的2倍 4.最小并发数需要配置,默认为初始并发数的 1/2 5.最大最小并发数保持时间,需要配置,两段时间相等 6.周期重复数,需要配置,默认重复两次 7.下降时间不需要配置,固定为上升时间的2倍 变压阶段的并发选择 最大并发数一般选取负载测试时最大
=======================================================================
我所在的公司为手机公司,每年新品销售的时候,流量也是非常大,是平时的10倍,甚至上百倍,今天来聊一聊稳定性相关的话题,谈下如何做好稳定性。 2、梳理强弱依赖 什么是强、弱依赖,这个网上已经有不少介绍了,即如果调用某个服务挂了不影响主流程,或者可以通过其它手段恢复,则不要返回错误给用户,或者可以通过开关降级掉。 2)、静态化 一些数据如果可以通过静态化的,尽量不要通过接口。 2、限流 主要方案分几层: 接入层:可以在接入层中间件上,如nginx做限流,笔者公司自己开发过nginx插件,可以针对每个URL进行保护; 服务层面,注意线程池等相关参数的设置,可以用Hystrix进行保护 评价一个故障预案是否好有几个标准: 1、是否可执行 即每一项做的事情一定是具体的步骤,如执行什么shell命令,还是在某个后台操作什么东西 2、责任到人 3、要覆盖所有核心场景 一般分2种:可预知的和不可预知的
2.模型稳定性,主要评价指标包括PSI和CSI等。 之前阐述了模型本身的评价指标:混淆矩阵、F1值、KS曲线、count_table和ROC曲线AUC面积,本文介绍模型稳定性指标PSI。 一、详细介绍PSI 1 什么是PSI PSI(Population Stability Index):群体稳定性指标,是通过对比历史样本分布和当前样本分布的波动,来衡量数据的稳定性。 为什么要关注模型的稳定性? 在风控建模中的IV和WOE一文中我们提到,可以用逻辑回归区分好坏客户的前提假设是“历史样本和未来样本服从同一总体分布”。 而且,在模型训练过程中,虽然有测试集衡量模型的稳定性,但仍不能排除模型存在过拟合的情况。 所以我们要关注模型的稳定性。 2 PSI计算公式 不管是变量PSI还是模型PSI,其底层逻辑是一样的。主要是量化评估观察样本(actual)和开发样本(expect)的分布差异。
背景 为什么需要客户端稳定性测试? 稳定性测试是在保证功能完整正确的前提下,必不可少的一项测试内容,通过对软件稳定性的测试可以观察在一个运行周期内、一定的压力条件下,软件的出错机率、性能劣化趋势等。 稳定性问题带来的危害? 目标 客户端稳定性 Crash 降低 20% 版本灰度阶段稳定性问题闭环率 100% 日常运营稳定性测试工具,拦截集成和灰度 Bug 建立统一稳定性测试能力 技术方案设计 方案调研 1、Google Monkey 2、AppCrawler AppCrawler 官方 GitHub 上对这款工具的解释是:一个基于自动遍历的 App 爬虫工具。支持 Android 和 iOS,支持真机和模拟器。 bytedance/Fastbot_Android 优势 1、Android 多 os 兼容 同时兼容 Android 5-11,兼容国内各厂商定制化的 Android 系统及原生 Android 系统 2、
背景 最近负责的项目已经到达10万 QPS的大关了,这么高的QPS,对系统的稳定性要求也更高了。 所以准备写一下关于发布稳定性的经验文章,今天先来说说优雅下线。 true)) { Runtime.getRuntime().addShutdownHook(getDubboShutdownHook()); } } 2.
之前的文章讲了优雅下线发布稳定性-优雅下线,今天讲优雅上线 优雅上线也叫:「无损上线」,「延迟发布」,「延迟暴露」。 待到服务发布完成,重新分配流量 Dubbo的优雅上线 Dubbo的优雅上线有2种方式:延迟发布 和 Qos命令 1.延迟发布 即延迟暴露Dubbo服务,比如你的服务需要一些初始化操作后才能对外提供服务 provider.getDelay() : delay; } 2. 总结:服务发布的稳定性已讲了优雅上下线,但是实际工作中不是做好这两样就行了,具体情况需要具体分析,下篇文章继续讲稳定性的内容:流量预热。
之前的文章讲了优雅下线发布稳定性-优雅下线,今天讲优雅上线 优雅上线也叫:「无损上线」,「延迟发布」,「延迟暴露」。 待到服务发布完成,重新分配流量 图片 Dubbo的优雅上线 Dubbo的优雅上线有2种方式:延迟发布 和 Qos命令 1.延迟发布 即延迟暴露Dubbo服务,比如你的服务需要一些初始化操作后才能对外提供服务 provider.getDelay() : delay; } 2. 总结:服务发布的稳定性已讲了优雅上下线,但是实际工作中不是做好这两样就行了,具体情况需要具体分析,下篇文章继续讲稳定性的内容:流量预热。
现在上上下下组成了一支牛人团队,请来了其他部门很多资深高手进行封闭开发,确保我们系统的稳定性。 选择一份工作,必然要考虑的是:我们是做基础设施的,还是做平台的,还是做核心链路的。 基础设施最重要的指标是稳定性、性能、扩展性。平台讲究多业务,通用性,人效。所谓人效就是我这个平台有些自动化的东西不能满足需求,需要靠手工来完成,这样开发人员的人效就低。 上游系统2 是否限流? timeout配置?重试次数?满足幂等性?TP99?挂掉后是否稳定? 核心接口性能 核心接口1 QPS、TP99、可用性? 核心接口2 QPS、TP99、可用性? 组件和版本: 维护系统稳定性要注意选择合适组件和版本。 比如Apache Tomcat被纰漏有高危漏洞。 比如Apache Struts发布S2-054和S2-055安全公告,两个漏洞皆是因为调用了有问题的组件而产生的漏洞。
节点质量优先关键因素:稳定性与低丢包率地域就近性节点质量直接决定成功率与尾部时延网络路径优化优化策略:选择更短 AS 路径合理的 BGP 出口选择区域就近接入减少 RTT(往返时延)握手优化协议级优化: HTTP/2、HTTP/3:复用连接与 0-RTT/1-RTT 握手显著降低建连成本[11][8]TLS 1.3:缩短握手往返,提升首次请求完成时间[3]连接复用与池化配置策略:依据并发水平(simultaneous