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

可靠性测试技术

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 embnn 于 2021-8-27 10:48 编辑
# _7 e" h( N6 S3 I2 ^. ~# P* R& d
一、Dependability & Security0 g8 X. c+ @5 d8 ^9 s( I9 Y
(1)Attribute——可用性(Availability)、依赖性(Reliability)、安全性(Safety)、机密性(Confidentiality)、整体性、可维护性
8 ]/ R$ e2 r" `) B7 y7 ?1 h/ N9 R6 t( [9 V
(2)Threats——Faults、Error、Failures
  p9 j. I# X' E
5 ]  A2 d2 T& l; Y7 T* k7 M0 t(3)Means
/ e7 ?# _3 E; C. ?1 t; S& O; @" X7 g; l7 E- A: C5 z
① Fault Prevention3 V- R8 b9 n" f- g; i
8 v! b3 L$ @7 @! Y2 E
② Fault Tolerance! M( J* p0 U* J

0 S& X8 g9 K5 v. a0 P③ Fault Remove' y# v% s; U! j3 x0 P7 J  W
2 Q7 B# J# x3 r; v" ]
④ Fault Forecasting
. Q1 I. b# S3 J! [: V7 o1 _
1 ~; N5 r% M! R: {+ ^& x二、状态改变
% x3 Q; _" W4 B; u, g" c# E4 ?: S' M                        Activation              Propagation            Causation
8 T$ _5 A) w3 K
" H8 |5 z( A6 `" O" B.......——Fault——————Errors——————Failures——————Fault.......
: _7 h0 q& }) q* O4 j. P: D; P! }5 S- R- v4 {4 ~0 p, S" x
三、单点故障和多点故障
$ C: H, q3 a! }% @; E* P( D' l1、单点故障(single point of failure), ?* R) l! A5 {, `) }% m0 Z
(1)概念
5 `# ^' J2 W+ _$ ^从英文字面上可以看到是单个点发生的故障,通常应用于计算机系统及网络。实际指的是单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪。这也是在设计IT基础设施时应避免的。  E- R1 s4 i: K3 v/ J$ u

8 d( k5 V! S+ _9 S1 O* [9 j- h大脑对与人来说,就是一个单点,大脑损坏,人也完蛋;手是不是单点? 一只没了,另一只还能日常生活,从这个角度来说,不是单点。消除单点的最常见的做法:增加冗余。比如,人有两只手。其次,层次化。当然,分层的目的是便于隔离问题。电影 《2012》 中的这个问题,不知道谁是总架构师,看起来,隔离做得不太够5 d; ?0 Q: L2 G1 o
; q. k6 n, m; _5 S5 i2 D
(2)消除单点故障方法
3 w7 Q5 r: a0 l+ Y8 U5 h大体可以从以下几个方面来消除单点故障:+ g$ g2 _" l- J: C4 v0 Z2 D
: g( g- C4 }+ J. z
一个网站,从基础的硬件层,到操作系统层,到数据库层,到应用程序层,再到网络层,都有可能产生单点故障。如果要有效地消除单点故障,最重要的一点是设计的时候要尽量避免引入单点,随着架构的变化,定期审查系统潜在的单点也是有必要的。( b1 ~: G) G: s% B
' X/ v4 d9 }+ o3 N7 s
① 增加硬盘,做镜像。让出错的概率降低
) k0 J, p; x7 K2 G: Y9 m# N2 V  b+ m9 J, I# j$ \, a" A& {
② 网卡与网线的单点问题。系统里面最容易物理损坏的就是网线。网卡绑定(NIC bonding)一个很简单很通用的办法。配置多个网卡。
$ c+ N8 D* c8 h/ _+ Q9 c( {9 O/ Z% b& Z0 {  I) x
③ SSH 服务器和Telnet 服务器共存。毕竟 SSH 和 Telnet 都不是百分之百靠谱的事。
& O  [2 Q; _* y. w  E' O, j7 O0 Y  J5 R
④ IDC 机房的单点。由于中国特色的“南北互通”,所以选择IDC机房的时候,一定要有冗余。2 Y+ g4 x' Z1 p% ^. F( g4 f1 C

" l- M# L' F) H+ \* @# i⑤ 靠谱的DNS解析。! l2 `. f3 B: n

/ s+ m; _  X; |. Z+ S- k3 W4 a(3)简单单点故障架构
: p2 V6 |, o0 X( _/ U# u; Q6 n& G# X( u9 j$ Z

% f% b- t5 ~. N8 z若干台云服务器通过负载均衡对外提供服务,在另一台云服务器上安装了MySQL作为应用数据库,为了提高性能,在服务器和数据库之间搭一个Redis缓存服务器。在这样的架构中,缓存服务器和数据库都存在单点隐患,可以考虑主从备份的设计。缓存服务器可以利用Redis对主从的支持特性设计成Master-Slave部署,数据库是在ECS上安装MySQL,虽然也可以在另一台服务器上安装MySQL,配置主从,但是可靠性仍然依赖于云服务器,故建议改用RDS。RDS是内在支持主从的阿里云关系型数据库产品,用户无需操心数据同步、主备切换等细节,使用更为方便。优化后的架构如下图所示:
" A! y4 \+ {4 v* s; I& k0 q3 H, O" G& c9 K+ ], A

- A0 ]1 U' h+ H7 g
1 R) Y, c! L1 z2 I( K$ T2、多点故障
# \( F# I& z4 K6 }3 X多个单点故障同时发生或者依次发生。
$ t/ v: d/ L; \6 J, ~6 o& \% u" p7 a- U. m; ^! O
3 E- S$ h5 `* D6 e% J; I
/ ]' i! G, W- D' T' ?" b
四、存储高可用
7 M: _1 m8 D0 F$ F% f存储高可用解决方案采用存储设备与管理设备冗余架构,任何设备出现设备故障。都不会影响整个存储系统的正常适用。故障切换完全自动完成,保证业务系统的连续性。8 T8 B$ M3 A" U2 ~7 G. c, @

/ s, W7 |% A, R* w6 z" ?! `( u" v' K
. Z! f" d0 L8 A
五、故障注入
' _1 [* |( q* [# ]4 }) T+ B5 K产品代码:故障处理代码——产品功能代码1 n+ V& [9 f; o* _; F/ A

& I6 u! O: x$ H% g% E6 LChaos Monkey7 |0 W. @) U, G4 l, C

$ @+ G1 ]: b. m9 \& U( yLinux Fault-Injection; M# Y  X$ b& X3 \

1 n1 O  K# S& z" d# L: B将故障注入内置于产品是最有效的做法,使得产品具有可测性
6 g$ z3 i7 Q. ^  i* T2 y6 Z- T% V1 ~9 D8 ]8 _

- X) T; }  t( T/ o  v; n0 c% b- G6 B1 g& k
六、测试实战% T" t2 x6 C6 U5 r
未知故障、已知场景(压力、稳定性、流控测试)
( y& D0 Q3 e! b" U8 f5 ]$ u已知故障、已知场景(故障注入): A0 G/ S/ S, ~+ X& K  \
已知故障、未知场景(故障注入), l9 m  q, \9 C4 v: s) @
未知故障、未知场景(可靠性预计于建模)
: }* y: c  g( @' ^! D- O* M7 [1、故障模式库——为可靠性测试提供测试输入,定义了测试范围# S0 A" R/ o! k, Y1 f- r  ~
' _/ ~2 r# j6 `( ~
2、可靠性测试评估基线) {7 [4 s$ I' u) {% L

- R& }6 v& X2 j4 F7 f7 y5 Y3、可靠性测试指导书
7 i' s$ z6 x2 _* O; D) ]
8 _5 p9 E5 J/ k! b9 Z4、评估产品的可靠性能力
2 o! J# B" m& o6 A
+ ^0 `" h; c3 Y- ?# ?3 I& r" R5、长稳测试
+ \6 v/ }# N8 e/ E5 I* e; [. R6 h0 R. W% s

& u) W7 |+ m3 J* C/ b  r) L. L; L! g* U$ d
七、“几个9”6 [# n7 v+ [! T0 ^
产品的可靠性是指:产品在规定的条件下、在规定的时间内完成规定的功能的能力。
/ e6 c0 v; N3 o' _5 |0 l4 O) ^, N+ p+ V5 @" F: o, D* u& Z9 d6 j% a
对电子产品而言,产品宣传经常用可用度 n 个 9 来描述产品可靠性水平。n 个 9 表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,通过下面的计算来感受下 n 个 9 在不同级别的可靠性差异。
; c& b! o. x* W% @- E8 {: e3 ^
9 {; e( Y6 r" V! O$ E) B4个9:
' i+ ~; w' a; K* J$ i/ u% p+ [' U
(1-99.99%)*365*24=0.876小时=52.6分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。& o+ D  H' \0 r: E

7 g; W  C! Y& s: @# E- [( K5个9:
& J& S( l1 B' Q
) O1 N$ i; i; W0 N) L  ^(1-99.999%)*365*24*60=5.26分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。* S# `% Z; U6 z* m  X+ K
0 l6 s1 T8 Z: N6 [9 {7 l
" Q& n  I: R9 g

该用户从未签到

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 19:59 , Processed in 0.187500 second(s), 24 queries , Gzip On.

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

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

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