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

可靠性测试技术

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 embnn 于 2021-8-27 10:48 编辑
( Y0 a2 E" `8 ?3 X/ m+ T4 A, [
1 ~+ C; j+ b3 I6 Y6 X( Z一、Dependability & Security( V% ?! Y5 {6 s( o$ Q' t( D- b
(1)Attribute——可用性(Availability)、依赖性(Reliability)、安全性(Safety)、机密性(Confidentiality)、整体性、可维护性. R0 @( A# j; \$ B0 f1 g
& l( V4 K, k( X
(2)Threats——Faults、Error、Failures& K8 G% x" z' e" h
* n1 k  z) Q4 K# ]
(3)Means6 R- p+ R1 T; `

2 d2 @" F$ i! x6 N6 S① Fault Prevention* M: C( h/ z! U* g
- h  _9 I% |4 S( R2 R
② Fault Tolerance
% s/ ^) @1 |3 `/ M/ r1 B! g
( X) ]/ W8 V" f③ Fault Remove4 b& ?7 W# _/ C0 {/ y! Y

% x+ Q7 n0 S, S3 v: G6 |& g5 g) H④ Fault Forecasting
/ d- o) z! {% o/ R# L
5 Q" x8 C) G4 |: l二、状态改变
3 E, l, U8 l4 @0 ~4 X                        Activation              Propagation            Causation- v' x! U0 L! S1 z- f1 V% w5 a* _

% j4 b0 \! z; E.......——Fault——————Errors——————Failures——————Fault.......0 s' }( e4 X5 v! L3 ]$ V6 B
( U+ O: H+ U# G+ l
三、单点故障和多点故障( _2 H4 ~! q+ u0 w9 z2 l4 r3 A  Y6 D
1、单点故障(single point of failure)
4 H( u1 m/ j& i6 ^  w(1)概念
4 B* d$ S- y5 @, z+ E! u从英文字面上可以看到是单个点发生的故障,通常应用于计算机系统及网络。实际指的是单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪。这也是在设计IT基础设施时应避免的。* E7 y5 J% ~" L5 E8 ^% t3 f, W

1 E" r$ y7 j# f大脑对与人来说,就是一个单点,大脑损坏,人也完蛋;手是不是单点? 一只没了,另一只还能日常生活,从这个角度来说,不是单点。消除单点的最常见的做法:增加冗余。比如,人有两只手。其次,层次化。当然,分层的目的是便于隔离问题。电影 《2012》 中的这个问题,不知道谁是总架构师,看起来,隔离做得不太够0 s- e& K! H8 ~$ a( [  `! y) c0 b2 \

% {( P, X6 }7 {% ?# s( L2 V7 i(2)消除单点故障方法
& f( R! u% T, U6 `8 I5 F8 G! _大体可以从以下几个方面来消除单点故障:
" [/ H: d9 n: f; i, x7 b
1 X! o- p5 Q. r7 Q0 A一个网站,从基础的硬件层,到操作系统层,到数据库层,到应用程序层,再到网络层,都有可能产生单点故障。如果要有效地消除单点故障,最重要的一点是设计的时候要尽量避免引入单点,随着架构的变化,定期审查系统潜在的单点也是有必要的。
9 K& L8 x6 W8 s! C* Q0 h7 L, O. |' H2 j7 C# i4 e& T4 v$ m8 S
① 增加硬盘,做镜像。让出错的概率降低0 m) Z7 Q  s* H& K* P: p
8 X, {* g- p" `7 ^
② 网卡与网线的单点问题。系统里面最容易物理损坏的就是网线。网卡绑定(NIC bonding)一个很简单很通用的办法。配置多个网卡。
6 d  F8 X9 I1 |/ T" Y6 p6 t1 ]- j9 a2 U  L& W6 a, D
③ SSH 服务器和Telnet 服务器共存。毕竟 SSH 和 Telnet 都不是百分之百靠谱的事。8 N' Z2 b8 c, [# \# Y2 A" |
6 ~4 _* x) A, e# A/ H2 ]6 Z5 Q' [
④ IDC 机房的单点。由于中国特色的“南北互通”,所以选择IDC机房的时候,一定要有冗余。6 S" M( ]3 q% j- T: I! R
$ \4 J9 I* F- G8 w# l% G% Q. }
⑤ 靠谱的DNS解析。7 u% X: ]' A. J' T. |- H
" ^# `" `- H& E$ D
(3)简单单点故障架构
0 Q8 h: a) s6 k; [6 T/ T8 E  Z  g4 Z  b+ c- h$ {' B  E; D

/ E/ V5 C& w2 w* u' O) E若干台云服务器通过负载均衡对外提供服务,在另一台云服务器上安装了MySQL作为应用数据库,为了提高性能,在服务器和数据库之间搭一个Redis缓存服务器。在这样的架构中,缓存服务器和数据库都存在单点隐患,可以考虑主从备份的设计。缓存服务器可以利用Redis对主从的支持特性设计成Master-Slave部署,数据库是在ECS上安装MySQL,虽然也可以在另一台服务器上安装MySQL,配置主从,但是可靠性仍然依赖于云服务器,故建议改用RDS。RDS是内在支持主从的阿里云关系型数据库产品,用户无需操心数据同步、主备切换等细节,使用更为方便。优化后的架构如下图所示:' y  ^9 k9 Y- Y0 w6 T* E

2 F; h4 g, Y6 u! ?5 q8 z% u3 `# y1 k4 f; ]$ t; _

+ A/ l: s  a5 S8 w( s5 J+ o0 C$ L3 {2、多点故障
5 J9 ~" f5 m- y. Z: `' s8 \" _多个单点故障同时发生或者依次发生。
" `. ^; z( M# Q% O! l6 s7 V+ {& p$ {2 D5 S: J2 D6 k: y. H8 N! y

5 a7 E' D* ~# C7 i& V0 y
; \/ P- O0 y  Y- Z四、存储高可用0 l$ n1 P. _8 f3 V$ w! S
存储高可用解决方案采用存储设备与管理设备冗余架构,任何设备出现设备故障。都不会影响整个存储系统的正常适用。故障切换完全自动完成,保证业务系统的连续性。* d2 z5 u9 E( i4 n6 v
- N/ V! i+ J0 j

  }( m! q) x8 }# r7 I8 J* m+ o
2 a6 u) h, I4 v3 @  x五、故障注入4 l" h* V/ i* B/ L7 E* d7 g1 z
产品代码:故障处理代码——产品功能代码
" \2 b! G  O) D* Y: `
& r$ g" L- c, Q6 P! x! DChaos Monkey! S* O3 F# K% f- R( y( Y- ~4 E

, g/ K# g& x: E; J; c$ ^1 [Linux Fault-Injection
4 w4 p% f* T8 s5 Z
0 o# A0 w8 k/ E- @. @0 ]将故障注入内置于产品是最有效的做法,使得产品具有可测性6 a5 Q) d: t( A6 L6 F. P( G9 ^

" X! s4 w& c4 `5 j: O8 ]; O+ l6 x! X% @1 P* E) [1 c1 |; ]( D
. P- L, d$ o" A
六、测试实战+ F& w3 i( d) r, j
未知故障、已知场景(压力、稳定性、流控测试)
/ G% P. c+ x1 w: d& U已知故障、已知场景(故障注入); M# Z6 \" r* [
已知故障、未知场景(故障注入)
- j4 f( x! Q& M; P" y" ^! a; }未知故障、未知场景(可靠性预计于建模); `0 j. o! e  t$ I; \
1、故障模式库——为可靠性测试提供测试输入,定义了测试范围% A: K5 x! s2 e* U, ~2 ~

8 P  {& ^9 Q/ v4 I/ ?2、可靠性测试评估基线% _8 t6 ?4 N8 `7 s* H% i

8 a% o" U3 w- Z* H3、可靠性测试指导书
  F: s; d2 I5 F) |: W- z6 }, }4 x( `( L# @9 @2 i8 K; s( F
4、评估产品的可靠性能力
8 W2 j$ V, p; n4 H2 T$ R' w, q- T# L3 B% K% m6 V
5、长稳测试
: P; Z$ G* y. m" e, x4 c" o* B9 U7 E" G4 X  T2 X
& Y. R! g4 ~7 s% n$ ]+ S
2 ~7 q% @3 u5 u! ~+ a- B1 w
七、“几个9”% s. j0 T# P! g, w
产品的可靠性是指:产品在规定的条件下、在规定的时间内完成规定的功能的能力。3 {2 q: {3 Z8 q9 x0 R

' a4 `" q" T( W5 Q' A7 m& v, H! j对电子产品而言,产品宣传经常用可用度 n 个 9 来描述产品可靠性水平。n 个 9 表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,通过下面的计算来感受下 n 个 9 在不同级别的可靠性差异。 7 l% o; y8 ^; O' O! L
$ B) E& w4 l: l
4个9:
% A* n3 X' H/ D* w) c# k! p, I
(1-99.99%)*365*24=0.876小时=52.6分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
, C  D9 h; M; N% j
4 Z8 G6 M& d* ^3 l- O- c( N2 y5个9:
8 t+ C" ?8 W7 @# \+ h7 ~: `
7 B& f1 X, p* j, ?8 T# s(1-99.999%)*365*24*60=5.26分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。
* h" T2 X5 w1 V6 M, ]9 q3 S3 n3 S* B
& c( l# D6 [! M& D- |  v( T
& A! O2 U$ z3 E/ g+ Q" D3 F

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-17 22:14 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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