找回密码
 注册
关于网站域名变更的通知
查看: 1192|回复: 2
打印 上一主题 下一主题

可靠性测试技术

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-8-27 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 embnn 于 2021-8-27 10:48 编辑 , b$ F5 i( G! B/ T5 V

0 j9 u# l% n4 L" E. v- T一、Dependability & Security
& I# X! p2 H$ q8 R( Q(1)Attribute——可用性(Availability)、依赖性(Reliability)、安全性(Safety)、机密性(Confidentiality)、整体性、可维护性
0 w/ b! S: f9 C! H* i
7 E# N  O7 ?5 ^$ E$ s7 r(2)Threats——Faults、Error、Failures, A( Q* d( ~8 i8 u! F& v
, J1 a) m: T. r6 V4 k! i% a
(3)Means
! M" \' k! N5 O: M; h: p' D& _5 i: i' [2 E: O6 O# ^/ Q, v2 S7 O
① Fault Prevention
4 G1 ^# ?9 O* w( D8 @+ z1 d8 q5 y5 y! l
② Fault Tolerance
, H0 B: r) D3 i! h5 G* p" H% b) X" e6 i" J% U3 w6 z
③ Fault Remove8 T+ ^3 c  u0 A) o5 Y1 E
0 [5 {/ h' O" {* L. m
④ Fault Forecasting
  m* S1 L' M  r) E9 v( @, H; |8 }0 P
二、状态改变
+ T. V: E9 |2 }2 r: }                        Activation              Propagation            Causation
. K! r! I1 ~  u0 P4 m( w6 j7 t0 f
! p9 M& A0 Z, U.......——Fault——————Errors——————Failures——————Fault........ R+ T" A9 F3 z

* n6 }1 o& ]$ ^" x+ J7 ]& @' }三、单点故障和多点故障
4 t/ n, Q) ~! ]+ g1、单点故障(single point of failure)) V; B* B( X+ G) K( U
(1)概念
6 ^2 |: c$ `' \2 l& o从英文字面上可以看到是单个点发生的故障,通常应用于计算机系统及网络。实际指的是单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪。这也是在设计IT基础设施时应避免的。
. B9 n% R3 r: `; r& m! x1 x. ?3 N% t* J, k( S% z; |8 Z' ]
大脑对与人来说,就是一个单点,大脑损坏,人也完蛋;手是不是单点? 一只没了,另一只还能日常生活,从这个角度来说,不是单点。消除单点的最常见的做法:增加冗余。比如,人有两只手。其次,层次化。当然,分层的目的是便于隔离问题。电影 《2012》 中的这个问题,不知道谁是总架构师,看起来,隔离做得不太够$ l# b. n2 X, q# f/ e

6 ^2 N) Q# B, M7 q9 B1 @(2)消除单点故障方法8 a. E/ x2 s: ?$ s* Y: M- R/ b! T
大体可以从以下几个方面来消除单点故障:
  L- C: Q" M1 k8 C; {; X# v. ^% |0 `0 _: ?
一个网站,从基础的硬件层,到操作系统层,到数据库层,到应用程序层,再到网络层,都有可能产生单点故障。如果要有效地消除单点故障,最重要的一点是设计的时候要尽量避免引入单点,随着架构的变化,定期审查系统潜在的单点也是有必要的。# T, Y: S: p4 q0 {( L

9 J6 \$ C0 Y2 B① 增加硬盘,做镜像。让出错的概率降低6 U5 b* Q  G: A% T" n

0 _$ `, r$ x3 b; S② 网卡与网线的单点问题。系统里面最容易物理损坏的就是网线。网卡绑定(NIC bonding)一个很简单很通用的办法。配置多个网卡。6 f! g" \; s; E; Q8 j
* l. G/ _$ H2 J( _6 J" e
③ SSH 服务器和Telnet 服务器共存。毕竟 SSH 和 Telnet 都不是百分之百靠谱的事。
2 F, k9 c7 M2 J0 V$ o! T* B- n; n4 e- b$ }$ Q- f
④ IDC 机房的单点。由于中国特色的“南北互通”,所以选择IDC机房的时候,一定要有冗余。/ C& |2 F: U7 g0 T$ K0 E
4 L' N7 ]0 s! P$ o
⑤ 靠谱的DNS解析。1 n  H% J' a' I$ F* ^+ B* |  ], l

. O3 \+ B) w- J* j8 r8 ^/ Q; f0 U(3)简单单点故障架构
6 ?; H) X. m1 }' E) J2 V& L/ D  B$ f% {0 z+ s# b* c2 p

& X1 y, _. ~  b0 F' w若干台云服务器通过负载均衡对外提供服务,在另一台云服务器上安装了MySQL作为应用数据库,为了提高性能,在服务器和数据库之间搭一个Redis缓存服务器。在这样的架构中,缓存服务器和数据库都存在单点隐患,可以考虑主从备份的设计。缓存服务器可以利用Redis对主从的支持特性设计成Master-Slave部署,数据库是在ECS上安装MySQL,虽然也可以在另一台服务器上安装MySQL,配置主从,但是可靠性仍然依赖于云服务器,故建议改用RDS。RDS是内在支持主从的阿里云关系型数据库产品,用户无需操心数据同步、主备切换等细节,使用更为方便。优化后的架构如下图所示:
7 f4 X1 }' g3 d. H" A
# |; p3 R& y  T- r# p2 ]8 m; F" r* R! p8 G$ Y' i- B
$ n3 {1 c/ @; M7 ?% n
2、多点故障
- q4 }: O7 d8 I* U: S- [3 y多个单点故障同时发生或者依次发生。
" Q/ g' T6 h3 k  A$ t) [3 g9 c& I* U* e5 E+ P' {! _
* ?% d/ v8 f* c! ^$ y) Y3 n
/ u& J4 F# p8 r, n9 s; ?9 n6 ]
四、存储高可用  `+ I; Z# n1 a" I$ f
存储高可用解决方案采用存储设备与管理设备冗余架构,任何设备出现设备故障。都不会影响整个存储系统的正常适用。故障切换完全自动完成,保证业务系统的连续性。
- ~) }2 L/ U; A% t# z$ P5 R% q+ a8 Z- b6 e1 l. W2 q. h

% n1 L3 W7 |( g- {9 x+ |
1 G* A# A* J+ k3 s/ D五、故障注入
; a3 P& m7 m; _! ^, t& v6 t产品代码:故障处理代码——产品功能代码
3 F* ^" [$ {5 g. L: B1 Z  r! @" g/ C  D+ D6 I& d
Chaos Monkey3 Y" K: j0 \2 O8 V% D
6 Q5 q  F# \( ~
Linux Fault-Injection
& u! Z, ~" G; S0 a; k6 ]& x: |3 G+ f$ H
将故障注入内置于产品是最有效的做法,使得产品具有可测性
9 E; }% y$ V. [0 _/ P. P+ w; y1 {0 v% _" B: x! ^7 G4 c4 `
/ P/ \  m) _2 ]" _9 j, U- e

) Y; c( |% n! h* C六、测试实战" S5 |, u  r. K) f
未知故障、已知场景(压力、稳定性、流控测试)
  ~. b. _: o( K0 P) g已知故障、已知场景(故障注入)
5 V9 c& a) A+ k7 M' E- x, b已知故障、未知场景(故障注入)
! g" Y$ L% l3 z1 e未知故障、未知场景(可靠性预计于建模), V; c& ~1 M' S2 v1 `. A0 O
1、故障模式库——为可靠性测试提供测试输入,定义了测试范围
6 _4 X- ?$ O/ G3 P$ p+ f; b, Q4 T' h% D2 d
2、可靠性测试评估基线
: F8 s- M- _& v! [3 _: q  r7 f# X  m; _8 ]* u
3、可靠性测试指导书# x- F% V, f/ z. U2 _

) T4 I+ c& o4 T$ D+ j3 [. W: s4、评估产品的可靠性能力
6 r! |3 K  e) R/ O1 U! T" z  L
; k- P8 Z8 X2 V" Y, H7 k5、长稳测试
2 y/ T+ k7 [0 n! X+ l2 \! ?% Q; E- g2 u$ j. W

) L, D9 R2 g9 }7 S* U2 |0 V. G$ F  w( L- T
七、“几个9”7 c2 }$ e. O) f; x7 j+ t
产品的可靠性是指:产品在规定的条件下、在规定的时间内完成规定的功能的能力。' k4 v0 N& O6 ?: u' {/ L5 v' _

9 J. @8 S. f: q4 \+ @( L% y1 d, n* ]对电子产品而言,产品宣传经常用可用度 n 个 9 来描述产品可靠性水平。n 个 9 表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,通过下面的计算来感受下 n 个 9 在不同级别的可靠性差异。 3 B  |7 H  E- u. m3 G+ f* y$ |' H: b

' X! b$ c  R( r" F% J: g) w4个9:. }- j8 n; n& ?% k& v
- A; V3 u& o7 F- U! t7 O0 P$ x
(1-99.99%)*365*24=0.876小时=52.6分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
. @8 n2 {" B8 i/ s0 Z" a% M: p4 A$ g5 A5 N! I$ j. \
5个9:
6 _- {8 P3 K, G' p# z. V
* U7 ?8 o) F1 j  a: e( ~2 M(1-99.999%)*365*24*60=5.26分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。4 z: q  h1 q0 s6 M: u& S0 \9 {1 W

8 H& p7 ^6 H$ h6 }8 e/ n. b! Z0 }

该用户从未签到

2#
发表于 2021-8-27 11:22 | 只看该作者
从英文字面上可以看到是单个点发生的故障,通常应用于计算机系统及网络。实际指的是单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪。这也是在设计IT基础设施时应避免的。

该用户从未签到

3#
发表于 2021-8-27 16:19 | 只看该作者
大脑对与人来说,就是一个单点,大脑损坏,人也完蛋;手是不是单点? 一只没了,另一只还能日常生活,从这个角度来说,不是单点。消除单点的最常见的做法:增加冗余。比如,人有两只手。其次,层次化。当然,分层的目的是便于隔离问题。电影 《2012》 中的这个问题,不知道谁是总架构师,看起来,隔离做得不太够。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 17:11 , Processed in 0.187500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表