HmacSHA1 的 Mac.getInstance() 需要很长时间才能执行
我最近遇到了调用 Mac.getInstance("HmacSHA1")
的部署问题。
在此特定服务器上执行该单个调用最多可能需要 10 分钟,而在其他计算机上,它的执行是即时的。
通话期间 CPU 使用率也会激增。
以下是服务器的一些详细信息:
- 操作系统: CentOS 5.6 Final(内核 2.6.35.8-16,i686);
- JVM: Sun的JDK 1.6.0_25(32位);
- CPU: Intel Core2 Duo CPU ([电子邮件受保护]);
- 内存: 2GB RAM;
- 专用物理服务器。
关于这里可能出现问题的任何线索吗?
I've recently ran into a deployment issue with a call to Mac.getInstance("HmacSHA1")
.
It can take up to 10 minutes to execute that single call on this specific server, whilst on other machines its execution is instant.
CPU usage also spikes during the call.
Here's a bit of details on the server:
- OS: CentOS 5.6 Final (kernel 2.6.35.8-16, i686);
- JVM: Sun's JDK 1.6.0_25 (32bit);
- CPU: Intel Core2 Duo CPU ([email protected]);
- Mem: 2GB of RAM;
- Dedicated physical server.
Any clues on what might be the problem here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我怀疑您的安全随机数系统熵较低。请参阅此页面来检查:检查 Linux 中的可用熵。这个问题有需要考虑的答案:如何使用 Java SecureRandom 解决性能问题? 特别是这个 Java 选项应该对您有所帮助:
它速度更快,但安全性稍差。
I suspect you're low on system entropy for secure random numbers. See this page to check: Check available entropy in Linux. And this question has answers to consider: How to solve performance problem with Java SecureRandom? In particular this Java option should help you:
It's much faster, but slightly less secure.