极速赛车平台出租 数据库防火墙商业化的前提条件

数据库防火墙和一般的传统数据库安全设备不同,它部署在应用服务器和数据库服务器之间。业务系统巨大的流量将穿越数据库防火墙,数据库防火墙任何的风吹草动都会影响业务系统的正常运行。极速赛车平台出租 bbs.yasewl.com ←测试数据库防火墙投放市场之前,不管数据库防火墙功能的多寡,都必须解决两个基本问题:性能和可靠性。

性 能

 性能主要考虑两方面的影响:延迟和并发。

01.延迟

延迟:业务操作从指令发出到结果返回之间消耗的时间。

一般来说,绝大部分客户的OLTP(线上交易处理)业务要求秒级响应,这个秒级响应包含了所有的业务处理,包括:客户端的处理(比如浏览器)延迟,业务网络延迟,应用服务器处理延迟,数据库网络延迟,数据库处理延迟等。对于数据库防火墙来说,应用服务器处理延迟和数据库处理延迟之间增加了一个数据库防火墙处理延迟。

我们来看看一般OLTP系统的常规情况,数据库网络延迟一般1ms之内,数据库处理延迟大部分在0.1ms-10ms之间,少部分会在10ms-100ms之间,极少出现几百ms以上的延迟。

为了简化说明,我们把数据库网络延迟标定为1ms,每次数据库响应处理延迟时间标定为2ms,每笔业务平均由20条SQL语句构成,则每次延迟时间为3ms,每笔业务的响应时间为60ms,每秒钟可以处理16.8笔业务。如果数据库防火墙的处理延迟时间为1ms,则每次处理延迟增加为4ms,总处理时间增加为80ms,每秒钟可以处理12.5笔业务。

下面我们从三种不同的业务场景来分析:独占数据库连接(无数据库连接池)、数据库连接池和短连接业务。大部分C/S应用都独占数据库连接,大部分B/S应用都采用数据库连接池,短连接的应用非常少见,只出现在极少数据库处理的应用中。 

独占数据库连接

独占数据库连接应用中,数据库防火墙的接入在每次处理中增加1ms,整体响应中增加了20ms,也就是从1000ms增加到了1020ms,这个延迟增量一般情况下不会对于业务体验造成任何影响。 

数据库连接池

不同于独占数据库连接,数据库连接池为不同业务操作的共享单元。假设数据库连接池数量为200个,冗余20%,可用数量为160个。显然,引进数据库防火墙之后,业务处理能力从16.8 * 160 = 2688/s下降为12.5*160=2000/s,吞吐量下降25.6%。当你需要比较2000笔/s更高吞吐量的时候,数据库防火墙的接入將带来业务线的影响。在这种情况下,你需要把数据库连接池数量至少增加26%,也就是252个,这个时候数据库连接池的处理能力將恢复到2688笔/s,整体业务感知的影响也仅仅从1000ms增加到了1020ms,基本可以被忽略。 

短连接业务 

在短连接业务中,数据库连接消耗的时间將纳入业务响应时间。以Oracle数据库为例子,一个数据库连接的建立消耗时间在120ms-200ms,数据库防火墙增加的每次1ms延迟和合计20ms延迟基本不会产生业务层面的影响。 

数据库响应处理的影响 

在上面的讨论中都假设了数据库不会受到影响,但是事实上数据库防火墙的加入会到数据库处理产生影响,其影响等同于网络速度下降。一般而言,延迟造成的影响主要在于增加了数据被锁定的时间,从而会从根本上影响数据库并发性。

我们以简单的update为例子:

       update customer set balance=500 where cust_id=10080;

       commit;

可以看到cust_id=10080这一行的锁定周期从3ms增加到了4ms,锁定周期增加了33.3%,这个增加的锁定时间会在一定时间影响数据库的并发性。 

猜你喜欢

转载自www.cnblogs.com/timeduo/p/11243949.html