Sey*_*sen 7 coldfusion performance entropy cfhttp coldfusion-10
我目前在CF10的CFHTTP上遇到了很多麻烦.
首先,我的测试脚本:
<CFSET results = arraynew(1) />
<CFLOOP from="1" to="10" index="idx">
<CFSET timer_start = getTickCount() />
<CFHTTP url="https://www.google.de" method="get" result="test" />
<CFSET arrayappend(results, (getTickCount()-timer_start)/1000 & " s") />
</CFLOOP>
<CFDUMP var="#results#" />
Run Code Online (Sandbox Code Playgroud)
10个CFHTTP连续调用,它们占用的时间被推送到一个数组; 就这样.
我们的CF9服务器的结果:
我们的CF10服务器的结果:
我们的CF10服务器的结果在CFHTTP呼叫之间有5秒的延迟:
我已经在论坛和Shilpi博客上看到了原因可能是Linux服务器耗尽了熵.watch --interval=0.1 cat ...
当我的测试脚本运行时,我检查了它,但它从未在4k以下下降(已经安装了rngd).
有没有人知道我可以尝试解决这个问题? 使用/ dev/urandom对我来说似乎是一个不安全的黑客攻击; 所以这不是一个选项(因为CF10服务器是生产机器).
多谢你们!
\n\n在对 Coldfusion 服务器进行 cfhttp 调用时,apache httpclient 库会尝试生成安全随机数。这是一个依赖于系统“熵”的操作。
\n对于 Linux 系统(主要是新安装的系统),可以观察到此操作可能相当耗时,因为系统“熵”显然相当低。因此,cfhttp 调用会很慢。
\n
来源:http ://blogs.coldfusion.com/post.cfm/optimizing-cfhttp-calls-on-linux-systems
\n解决方案:添加\xe2\x80\x9c-Djava.security.egd=file:/dev/./urandom\xe2\x80\x9d
到您的 jvm 设置中。
在 Adobe 论坛中,您可以找到另一个与您的问题相关的帖子和相同的解决方案,以及包含有关随机数生成器的更多信息的以下链接:\n http://forums.adobe.com/thread/1063806
\n没有必要不使用 /dev/urandom,因为它是一个安全的解决方案: https: //security.stackexchange.com/a/3939
\n