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

可靠性测试技术

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 embnn 于 2021-8-27 10:48 编辑 + F* E1 y4 R, D* c5 W  ]  ^
! {! T2 S& `: }1 E6 x0 n" [
一、Dependability & Security4 q" q7 h1 l# ^5 k5 B  ^0 o
(1)Attribute——可用性(Availability)、依赖性(Reliability)、安全性(Safety)、机密性(Confidentiality)、整体性、可维护性$ V& v; Q" E$ A
, F  U1 v' l: ]1 N: h, _3 g+ z5 `
(2)Threats——Faults、Error、Failures$ U9 p2 q4 ~$ c( s2 q' f- o2 K

+ o' o7 Z7 `! i, u, ^(3)Means) W( H' J6 W! N5 O3 k. L" W
7 \; v2 L1 V8 |
① Fault Prevention; ?0 F1 g2 Z0 [
3 D, |( \9 w. v" J4 w
② Fault Tolerance
- b% C& k' Q8 |( |1 l
/ A) b" y+ d, k  }  I③ Fault Remove6 P5 T6 j& f/ O3 g5 P4 ]

) i- D0 K' r, Q0 Y: j* X④ Fault Forecasting
* @6 R. b3 H8 s1 b5 B& p' G
0 I# p; w$ A4 P3 g1 i! @; q. z: {二、状态改变9 o7 c- N3 [$ _
                        Activation              Propagation            Causation
( x" A. _. A  p  r$ m. L3 V2 p5 ^4 T! S  V* L# I+ l
.......——Fault——————Errors——————Failures——————Fault.......+ I) F- b. }8 h$ a- S
  U; ]9 f* y; g6 f# ]7 a
三、单点故障和多点故障
& X8 e; u) X: T: p- A" f1、单点故障(single point of failure)) i( ?* j7 ~( ^( @8 }! ]
(1)概念" G& t7 E5 @% ?/ f9 H
从英文字面上可以看到是单个点发生的故障,通常应用于计算机系统及网络。实际指的是单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪。这也是在设计IT基础设施时应避免的。
6 R4 b2 a" P$ p: J
3 q' g6 o" A  J, W0 b大脑对与人来说,就是一个单点,大脑损坏,人也完蛋;手是不是单点? 一只没了,另一只还能日常生活,从这个角度来说,不是单点。消除单点的最常见的做法:增加冗余。比如,人有两只手。其次,层次化。当然,分层的目的是便于隔离问题。电影 《2012》 中的这个问题,不知道谁是总架构师,看起来,隔离做得不太够
$ `& l" r# ?; q( h+ H
+ }' z8 x. d, C! E% {(2)消除单点故障方法
0 S7 V2 U" d6 x7 l1 h( E; j7 p大体可以从以下几个方面来消除单点故障:
! Z. d! E+ m. r7 a) h7 K$ `5 F$ G4 u; Z
一个网站,从基础的硬件层,到操作系统层,到数据库层,到应用程序层,再到网络层,都有可能产生单点故障。如果要有效地消除单点故障,最重要的一点是设计的时候要尽量避免引入单点,随着架构的变化,定期审查系统潜在的单点也是有必要的。
$ ~* i3 k) M1 F' v/ n( l' a. i0 s: L& |9 w' U
① 增加硬盘,做镜像。让出错的概率降低
, [: p9 r% d  Q: s3 S1 h8 P. D2 A( H0 b& B: X' M
② 网卡与网线的单点问题。系统里面最容易物理损坏的就是网线。网卡绑定(NIC bonding)一个很简单很通用的办法。配置多个网卡。1 u& v+ ^; |$ d
' X( |* T8 e% ]) v
③ SSH 服务器和Telnet 服务器共存。毕竟 SSH 和 Telnet 都不是百分之百靠谱的事。
6 J9 ]# @0 o# n2 t3 s4 j! G
3 Q' w8 l) V3 _9 o- ?④ IDC 机房的单点。由于中国特色的“南北互通”,所以选择IDC机房的时候,一定要有冗余。
) Z; Q0 d$ V7 }% U; W; S4 \. v
* Z! C1 E- V7 q5 m2 N⑤ 靠谱的DNS解析。$ ]+ N9 o; W% r- `2 M6 V$ j: q6 r

0 q  p* Z- `) K8 ?! Q+ z(3)简单单点故障架构
0 [2 N0 d! ?# f' L1 w- b5 b' F; ^- Z/ k1 ]4 E, N) x0 R

" a% [/ f2 @7 u# j若干台云服务器通过负载均衡对外提供服务,在另一台云服务器上安装了MySQL作为应用数据库,为了提高性能,在服务器和数据库之间搭一个Redis缓存服务器。在这样的架构中,缓存服务器和数据库都存在单点隐患,可以考虑主从备份的设计。缓存服务器可以利用Redis对主从的支持特性设计成Master-Slave部署,数据库是在ECS上安装MySQL,虽然也可以在另一台服务器上安装MySQL,配置主从,但是可靠性仍然依赖于云服务器,故建议改用RDS。RDS是内在支持主从的阿里云关系型数据库产品,用户无需操心数据同步、主备切换等细节,使用更为方便。优化后的架构如下图所示:
+ D+ E3 s- H: L3 |  W3 @# n# u7 f
* n! H8 s% p- D& c+ P  G) R8 R9 R( p2 K0 }& Y) k* o

  M. ?0 y3 g3 R" D8 G2、多点故障
- |  p3 |! F5 S. \! _' U, V多个单点故障同时发生或者依次发生。& d9 U6 Y- [0 ?: r3 F1 Q

. d5 H4 i' p* |; u' E
$ s! k: Z2 ]0 d8 S) s4 g' B: ^3 w
+ x( W5 }+ c, S4 W$ q" d( U5 y四、存储高可用- ^7 o, U! `6 J; [' s3 ]! r2 f% ?
存储高可用解决方案采用存储设备与管理设备冗余架构,任何设备出现设备故障。都不会影响整个存储系统的正常适用。故障切换完全自动完成,保证业务系统的连续性。
) D; F! x2 j4 }  v/ {
' e( z/ l$ W  {) i: ~% }, r& m6 @" E$ ~/ R0 u& T/ d" R

/ _1 \" U4 l* {. o' z五、故障注入% b' N0 h9 O! n; \0 p
产品代码:故障处理代码——产品功能代码1 \6 q. T4 {" M: V
5 O% `; i* b! R9 w! }4 W
Chaos Monkey4 p9 l3 R, O1 S6 @  o" ~" R
) }2 i7 G1 Z' P) z* i
Linux Fault-Injection' D: A4 J: ~% m" B/ O

; _% U: T9 L! i% E" A/ _1 _将故障注入内置于产品是最有效的做法,使得产品具有可测性
- \4 y4 C2 ~9 P& C: d9 q& B
6 I+ R& O9 B3 w/ D
5 l7 ~  Y5 J+ F8 O9 b
, V  y2 S; v: C. l" f: E六、测试实战, n# d# L8 G3 c! i% H& {4 M  z
未知故障、已知场景(压力、稳定性、流控测试)7 k0 w. W  [' |$ A/ n7 H: g) p
已知故障、已知场景(故障注入)' {* D4 ~, d! ]* v! P6 s4 b
已知故障、未知场景(故障注入)
; W9 }3 `0 I  M) l& b4 o未知故障、未知场景(可靠性预计于建模)' [7 w6 \# E) f6 P& ^7 E* p
1、故障模式库——为可靠性测试提供测试输入,定义了测试范围
1 Q9 T* d# ~! Z* D3 ?" \
0 ~. ~2 A3 s9 K; n2、可靠性测试评估基线
+ T/ ]! V; Y$ j  R9 j* k& Z
4 [8 R  i' @* k2 Q7 d" R3、可靠性测试指导书
0 Y+ J4 T5 Z: z$ i' y4 l0 t
( G6 P( v1 g! h4 Z7 y4、评估产品的可靠性能力
) `/ U) m/ Q, L% F0 M0 {
$ u' c1 B4 E- ?' n5 [3 z% `5、长稳测试+ z; v) {& N1 `$ M* w% c. h

* {3 V/ L2 _! v: t
5 Y: u3 f9 A% |$ [: [0 Q% K
9 X5 o! V- i: J& F) F4 }1 X# ]! }七、“几个9”
: ?, C$ F8 l1 v- {" d) ^产品的可靠性是指:产品在规定的条件下、在规定的时间内完成规定的功能的能力。
- \0 \( s/ z4 t* Z' @7 N3 [6 `5 g' A. W$ M3 O- c" E$ W8 H
对电子产品而言,产品宣传经常用可用度 n 个 9 来描述产品可靠性水平。n 个 9 表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,通过下面的计算来感受下 n 个 9 在不同级别的可靠性差异。 1 D6 h, @2 ~3 e

$ N4 Z  y5 G* P4 \. w" G. b4个9:
# w3 x$ l; r0 ^8 L  n' `" O% G* q* `! l- V( n; j" @; H4 |8 m/ r" A( {
(1-99.99%)*365*24=0.876小时=52.6分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
$ _5 B: |' w$ e0 ^0 V: o
$ P& |8 a# u1 L1 H; A5个9:; i$ d/ {; E, G
7 ]; M$ j* Q9 H  q& R. i" C
(1-99.999%)*365*24*60=5.26分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
( {& [  z* ~% M6 J/ S' n, Z1 ]- F' m) |
6 ^1 O9 N% t9 P  |, j0 ]

该用户从未签到

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

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

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

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