SSL的全称是Secure Socket Layer,是一种基于public/Private key的加密方式,如同它的名字一样,它是在已有的传输协议例如HTTP,或者FTP上加了个加密解密层,这样信息在传输的当中就不会被轻易的拦截破解,也许大家对这个词汇感到陌生,但如果你做过Internet Banking的话,你就已经用过这个技术了,呵呵。。这个东西应用的很广泛,但一直我都没有从服务器端来测试一下它对资源耗费的情况。。直到今天。。
早上到公司后,就总是接到CPU使用率总是高过80%的警告,远程登陆到服务器上看了一下,没什么啊,不过服务器的CPU是用的很厉害,查看了一下Process和Thread,发现Ftp的Client一直在CPU使用率的榜首上跳跃,觉得很纳闷,这个FlashFxp我已经用了三年有余,除了个别早已修复的Bug之外,其他都非常稳定,也从来没有发现出什么问题,双击打开看了一下,没什么异常,想想不知道是不是Memory Leaking,就停了process然后重启,果真降了下来,但一开始传输发现CPU又上到80%,这时候眼角突然掠过下面的信息窗口,SSL negotiation。!!!
一霎那恍然大悟,原来是OpenSSL搞的鬼,这个FTP要求隐式SSL传输。。
记得当年测试SSL不那么吃力啊,怎么这突然就这么贪吃CPU的资源,然后把FTP的SSL打开,然后从公司用FTP的Client测试连接,然后做了几个压力试验,嘿。。服务器端的情况比客户端好多了,handle 20个连接,CPU才升20%,客户端一个用SSL就升30%,郁闷死了。。
看来以后开这个SSL一定要小心啊,其实现在几乎所有的服务例如HTTP,FTP,Remote Control,SSH2都支持SSL了,不知道将来CPU里会不会象现在的3DES加密Enable的Router一样有专门的硬件Chip来解密加密。。
文章评论