性能数据(一)

这篇文章跟优化没关系,主要是记录下线上的性能指标,以及一些想法。

 

性能指标: 每秒钟可以处理xxx个包,每个包大小为yyy,是否开启加密, 使用哪种加密

包大小(字节)  每秒处理速度(个/s)   是否加密   加密算法

128      22w                      不加密

256       18w        不加密

512       13w        不加密

1024      9w         不加密

不加密的情形下, 包每增加128k, 包处理速度下降25%, (这里没有考虑机器的配置)

 

包大小(字节)  每秒处理速度(个/s)   是否加密   加密算法

128      13w                      加密     A

256        8w         加密   A

512        6w         加密        A

1024      3w         加密        A

A加密算法, 同不加密算法相比, 包小于512K时, 性能比不加密时,少50%,  包越大, 带加密的接入服务处理速度越慢。

原因好理解,加解密需要处理时间, 包越大,处理时间越长, 如果不能并行处理,那么包之间会形成等待,  等待时间完全取决于服务速度。 

解决方法我知道的有2大类,

一种是加, 即增加服务员的数量, 就是我们说的,增加最大连接数, 增加允许等待的连接数, 增加处理线程等等

一种是优, 即基于现有的情况,让处理速度变快, 压缩等待时间。

 

于是更换加密算法为B后

包大小(字节)  每秒处理速度(个/s)   是否加密   加密算法

128      9w                        加密      B

256        6w         加密    B

512        3w         加密         B

1024      2w         加密         B

发现效果更差了, 也说明B算法比A算法慢, 但是A\B加密算法的差异, 随着包越来越大,  差距越来越小了,

这个好理解,因为包大了之后, 加密消耗的时间数也变长了, AB加密算法时间上的差异, 从绝对值看是拉大了, 但是从占比总时间看, 差异是越来越小了。

 

结论: 

  加密会更安全, 不同的加密算法, 带来的性能有差异, 当包越来越大时, 差异逐渐缩小。

  不加密时, 性能至少是加密的2倍, 随着包越来越大, 不加密的速度优势越来越明显, 3倍于加密的处理速度。 

 

posted @ 2015-11-14 13:15  JinleiZhang  阅读(149)  评论(0)    收藏  举报