性能数据(一)
这篇文章跟优化没关系,主要是记录下线上的性能指标,以及一些想法。
性能指标: 每秒钟可以处理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倍于加密的处理速度。

浙公网安备 33010602011771号