可靠性

可靠性测试的基础知识

半世苍凉 提交于 2019-11-29 03:25:54
可靠性测试的定义 在规定条件下,规定时间内,软件不引起系统失效的概率 软件系统在规定的时间内以及规定的环境条件下,完成规定功能的能力 可靠性测试的目的 预测软件在实际运行中的可靠性,同时通过测试可以提高整个软件的防错、容错和纠错的能力 可靠性的计算方法 计算机系统的可靠性是制从它开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示。 失效率是指单位时间内失效的元件数与元件总数的比例,以λ表示,当λ为常数时,可靠性与失效率的关系为: R(t)=е^(-λt)。 两次故障之间系统能够正常工作的时间的平均值称为平均无故障时间(MTBF) 计算公式: 系统类型 可靠性 失效率 串联系统 R=R 1 ×R 2 ×...×R n λ=λ 1 +λ 2+ ...+λ n 并联系统 R=1-(1-R 1 )×(1-R 2 )×...×(1-R n ) 模冗余系统 1)串联系统:假设一个系统由n个子系统组成,当且仅当所有的子系统都有能正常工作时,系统才能正常工作,这种系统称为串联系统 设系统各个子系统的可靠性分别用R1, R2, R3……, Rn表示,则系统的可靠性 R=R1×R2×R3×……×Rn 如果系统的各个子系统的失效率分别用λ1, λ2, λ3……, λn来表示,则系统的失效率 λ=λ1+λ2+λ3+……+λn 则系统平均故障间隔时间为: MTBF=1/λ

知识点 Tcp与Udp (一)

余生颓废 提交于 2019-11-27 15:29:22
一、TCP/UDP协议 TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输, 它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说, 它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、 流控或差错恢复功能。一般来说, TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输流量大,传输速度快的应用 TCP支持的应用协议主要 有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、 DNS(主域名称系 统)、TFTP(通用文件传输协议)等。 TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点。 二、TCP 和 UDP 区别 面向连接vs无连接 TCP 有三次握手的连接过程,UDP 适合消息的多播发布,从单个点向多个点传输消息。 可靠性 TCP 利用握手, 确认(ACK) 和重传的机制,提供了可靠性保证,而 UDP 可能丢失,不知道到底有没有接收。 有序性 TCP 利用序列号保证了消息包的的顺序交付,到达可能无序,但 TCP 会排序。 速度 TCP

在「不可靠」硬件上,分布式数据库如何保证数据可靠性和服务可用性?

不想你离开。 提交于 2019-11-27 03:14:37
“数据不能丢,服务不能停”,可以说这句话道出了用户对数据库的核心能力的要求。然而,传统的商业数据库必须依赖高可靠的硬件才能实现数据可靠性和服务可用性。OceanBase作为一款成熟的企业级分布式数据库,基于普通PC服务器,就能够做到传统高端硬件环境下的数据可靠性和服务可用性,而且还能做得更好!跟我们一起看看OceanBase的技术秘诀吧! Part1 前言 说到数据可靠性和服务可用性,在数据库领域真是老生常谈的话题,可以说从数据库诞生之日起就如影随形。如果要用一句话来概括数据库对数据可靠性和服务可用性的要求,可以借用OceanBase数据库创始人阳振坤老师的一句话:“数据不能丢,服务不能停”。可以说,这句话也道出了用户对数据库的一个核心能力要求:除了功能完善、使用方便之外,还要绝对安全、足够健壮。可以说,为了满足这两个看似简单的要求,在数据库领域诞生了大量的技术和论文,也让无数人绞尽了脑汁。 在传统的商业数据库产品(如Oracle、DB2)中,虽然也有一些行之有效的软件技术(如Redo Log、主从热备技术等)用来提高数据可靠性和服务可用性,但整体来说对硬件的稳定性有很强的依赖。而传统的企业级服务器(如IBM 的Mainframe、AS400、Power等)和EMC、IBM等厂商的高端存储产品,能够很好的保证硬件的稳定性,因此也就成为了Oracle为代表的传统数据库产品的理想平台

【T08】避免重新编写TCP

…衆ロ難τιáo~ 提交于 2019-11-27 00:43:04
1、有时候为了所谓的性能,我们倾向于使用udp,但是我们又期望数据的传输是可靠的,因此需要在应用层提供可靠性。 2、可靠、健壮的udp必须提供: a、在合理的时间内没有收到回复,进行重传 b、保证应答和请求的匹配 3、基于udp协议,在应用层提供可靠性,需要做很多事情,比如:滑动窗口,拥塞控制,对这些事情都进行研究,就相当于重写tcp 4、因此,如果要可靠的网络传输,就直接使用tcp,而不是使用udp,在应用程序提供可靠性。原因有: a、应用程序实现的tcp功能肯定比不上真正的tcp协议,tcp协议实现是大量实现和研究的结果,也在不断改进。 b、tcp协议的实现在内核中执行,性能更高。 c、有时候在应用层超时重传并不是用户期望的,比如客户端发送一个转账请求,超时没有收到回复,然后重传, 导致一次转账请求,在服务端处理了两次,这不是我们所期望的。而tcp的超时重传,在传输层会丢弃收到的重复请求, 在应用层只收到一次请求。 因此,使用udp,在应用层提供可靠性并没有什么意义。 5、因此,udp的使用场景是:对可靠性的要求不是很高,允许丢包,丢包不影响应用程序。 tcp的使用场景是:对可靠性的要求很高。 6、如果既想拥有tcp的可靠性,同时减少建立连接和拆除连接的开销,可以使用T/TCP,T/TCP是对tcp的扩展, 避免了建立连接的三次握手,同时缩短拆除连接时的TIME_WAIT阶段。

NFV和SDN关系、NFV关键能力以及如何演进

余生颓废 提交于 2019-11-26 00:26:12
本文继续探讨NFV,其他内容请阅读前一篇文档。 你能在这里找到我,思科群:529468183;华为群:645866695 1.NFV和SDN的关系 NFV是具体设备的虚拟化,将设备控制平面运行在服务器上,这样设备是开放的兼容的。 SDN是一种全新的网络架构,SDN的思想是取消设备控制平面,由控制器统一计算,下发流表,SDN是全新的网络架构。 NFV和SDN是高度互补关系,但并不互相依赖。网络功能可以在没有SDN的情况下进行虚拟化和部署,然而这两个理念和方案结合可以产生潜在的、更大的价值。 网络功能虚拟化(NFV)的目标是可以不用SDN机制,仅通过当前的数据中心技术去实现。但从方法上有赖于SDN提议的控制和数据转发平面的分离,可以增强性能、简化与已存在设备的兼容性、基础操作和维护流程。 NFV可以通过提供给SDN软件运行的基础设施的方式来支持SDN。而且,NFV和SDN在都利用用基础的服务器、交换机去达成目标,这一点上是很接近的。 SDN的本质是把网络软件化,提高网络可编程能力和易修改性。SDN没有改变网络的功能,而是重构了网络的架构 NFV没有改变设备的功能,而是改变了设备的形态。NFV的本质是把专用硬件设备变成一个通用软件设备,共享硬件基础设施 SDN和NFV的关系: NFV的软件设备(统称VNF)快速部署以及VNF之间网络快速建立,需要支持网络自动化和虚拟化能力