达梦8 基于传输层的 SSL 协议通信加密降低性能0%至18%不等

DM 提供两种通信加密方式:一基于传输层的 SSL 协议加密;二基于应用层的消息包加 密。两个层次的加密互不影响,可以同时使用。

本文测试基于传输层的 SSL 协议加密对性能的影响。

为了尽量全面反映真实应用场景,我们编写两个测试案例。一个为为交互式应用。另一个为计算密集型。实测结果交互式应用采用基于传输层的 SSL 协议通信加密后性能下降了18%;计算密集型应用反而提高了1%,考虑到误差可以任务没有性能下降。

可以得出结论:采用基于传输层的 SSL 协议通讯加密,不同应用场景性能会下降0%至18%不等。原厂给出的测试数据是平均下降5%。

测试A(交互式应用)

先创建测试表

create table test(a int,b datetime);

编写测试脚本,循环建立1000个到远程数据库的sql会话,每个会话插入1行数据

e()
{
disql SYSDBA/SYSDBA@192.168.100.100:5236 <<eof
insert test values(${1},sysdate);
commit;
select count(*) from test;
eof
}

A=`date +"%Y-%m-%d %H:%M:%S"`

for ((i=1;i<=1000;i++ ))
do
   e $i
done >/dev/null

disql SYSDBA/SYSDBA@192.168.100.100:5236 <<eof
  select count(*),datediff(ss,min(b),max(b)) from test;
eof

echo
echo BEGIN:${A}
echo END: `date +"%Y-%m-%d %H:%M:%S"`

默认不开启通信加密的情况下执行测试脚本:

 如上可见,向远程数据库顺序建立1000个会话并插入测试数据共耗时48秒。

将ENABLE_ENCRYPT参数(需重启数据库)设置为1,执行测试脚本

清空测试表后执行测试脚本

 如上可见,向远程数据库顺序建立1000个会话并插入测试数据共耗时57秒。性能下降了18%。

测试B(计算密集型应用)

编写测试脚本,循环建立100个到远程数据库的sql会话,每个会话插入1行数据并执行统计查询。

e()
{
disql SYSDBA/SYSDBA@192.168.100.100:5236 <<eof
insert test values(${1},sysdate);
commit;
 select count(*) from sysusers,sysobjects,dba_segments,dba_objects;
eof
}

A=`date +"%Y-%m-%d %H:%M:%S"`

for ((i=1;i<=100;i++ ))
do
   e $i
done >/dev/null

disql SYSDBA/SYSDBA@192.168.100.100:5236 <<eof
  select count(*),datediff(ss,min(b),max(b)) from test;
eof

echo
echo BEGIN:${A}
echo END: `date +"%Y-%m-%d %H:%M:%S"`

 将ENABLE_ENCRYPT参数设置为0,执行测试脚本

将ENABLE_ENCRYPT参数设置为1,执行测试脚本

 由上可见,将ENABLE_ENCRYPT参数后性能还略有提升。不过考虑到也许这时服务器在执行其他内部任务。我们认为修改参数后性能没有变化。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值