java – SSL握手问题

我们的服务器应用程序在某些客户中极度缓慢.服务器重启会解决缓慢问题,但几周后它会恢复.

Java CPU总是大约100%(200%),所有其他参数都很好.研究表明,大多数CPU都被“HandshakeCompletedNotify-Thread”线程所消耗.从tcp dump我们看到SSL握手需要2-8秒,这很长,有时会抛出超时.

我们的SSL提供商是BSAFE.服务器在Linux(CentOS)上运行,640 MB堆,2个核心.使用Hibernate,spring,Oracle本地db

这种行为可能是什么原因?找到它们可以做些什么?

附:我们无法在客户处将流量切换为HTTP.

更新:当使用IP表阻止java进程的传出连接时,系统完全释放.在这种情况下释放了什么资源?
我们看到SSL握手经常陷入“改变密码规范”阶段.客户端(我的java进程)尝试重用SSL会话,但服务器完全无状态,每次都会生成新的会话.

最佳答案
这是Sun在6u10推出下一代Java插件时引入的已知错误. Oracle最终在Java 7u2中修复了它,但他们还没有将它向后移植到Java 6,至少从6u33开始.

有关错误的详细信息,#7060523,可以找到here.

相关文章

本文从从Bitcask存储模型讲起,谈轻量级KV系统设计与实现。从...
内部的放到gitlab pages的博客,需要统计PV,不蒜子不能准确...
PCM 自然界中的声音非常复杂,波形极其复杂,通常我们采用的...
本文介绍如何离线生成sst并在线加载,提供一种用rocksdb建立...
验证用户输入是否正确是我们应用程序中的常见功能。Spring提...
引入pdf2dom <dependency> <groupId&a...