CFHTTP:首先请求快速,慢速

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服务器的结果:

CF9 CFHTTP测试结果

我们的CF10服务器的结果:

CF10 CFHTTP测试结果

我们的CF10服务器的结果在CFHTTP呼叫之间有5秒的延迟:

CF10 CFHTTP测试结果与呼叫之间的延迟

我已经在论坛Shilpi博客上看到了原因可能是Linux服务器耗尽了熵.watch --interval=0.1 cat ...当我的测试脚本运行时,我检查了它,但它从未在4k以下下降(已经安装了rngd).

有没有人知道我可以尝试解决这个问题? 使用/ dev/urandom对我来说似乎是一个不安全的黑客攻击; 所以这不是一个选项(因为CF10服务器是生产机器).

多谢你们!

da_*_*idi 4

\n

在对 Coldfusion 服务器进行 cfhttp 调用时,apache httpclient 库会尝试生成安全随机数。这是一个依赖于系统“熵”的操作。

\n

对于 Linux 系统(主要是新安装的系统),可以观察到此操作可能相当耗时,因为系统“熵”显然相当低。因此,cfhttp 调用会很慢。

\n
\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 设置中。

\n

在 Adob​​e 论坛中,您可以找到另一个与您的问题相关的帖子和​​相同的解决方案,以及包含有关随机数生成器的更多信息的以下链接:\n http://forums.adobe.com/thread/1063806

\n

没有必要不使用 /dev/urandom,因为它是一个安全的解决方案: https: //security.stackexchange.com/a/3939

\n

  • [Thomas Pornin](http://security.stackexchange.com/users/655/thomas-pornin)(da_didi 链接的答案的作者)是一位专业密码学家 - 请查看他在 http://security 上的回复。 stackexchange.com 了解他的资格。如果他说 /dev/urandom 是安全的,那么我会要求任何不同意的人证明为什么他们认为他是错误的。 (3认同)