增加“最大输出缓冲区大小”的风险有哪些?

9
我正在处理从ColdFusion 9到ColdFusion 11的迁移。我遇到的一个问题与这个问题中描述的问题基本相同: cf10 unable to add text to HTML Head 在我的情况下,根本原因是一个页面大约有3 MB,这比输出缓冲区(默认为1024 KB)要大,并且导致CF刷新缓存。这反过来破坏了OnRequestEnd()中cfhtmlhead的调用。
重新设计页面现在不是一个实际的解决方案。(也许将来会有。)通过增加“最大输出缓冲区大小”至4096 KB,“解决了”我的问题。
增加此值的风险是什么?该服务器上还有其他应用/站点。可能会出现内存问题吗?性能下降?(寻找参考资料非常令人沮丧。) ColdFusion 11 Lockdown Guide 指出:

在某些应用程序中,较低的输出缓冲区大小可能会减少内存占用。

服务器和JVM似乎有足够的内存。


鉴于似乎有一些关于哪个设置的混淆:

Settings screen shot


这是设置的实际名称吗(最大输出缓冲区大小)? - Miguel-F
我检查了企业版,但没有找到。?? - Miguel-F
我添加了一张屏幕截图。 - Fish Below the Ice
1
我不确定以下内容是否有帮助:如果每个请求的最大内存使用量为4096 kb,则最大内存使用量可能是“最大同时模板请求数”25 * 4096 kb = 100 Mb。再次强调,我对以上内容并不百分之百确定。 - Nebu
1
对于那些感兴趣的人,我要补充一点,上面提到的Admin设置确实是CF10中新增的。这就是为什么有些人报告在他们的CF9管理界面中没有看到它(并且在CF9锁定指南中也没有提到同样的原因)。话虽如此,不清楚在9及之前版本中是否存在该设置(一个xml或属性配置文件),并且现在才被公开。因此,也不清楚它在9中可能具有不同的默认值,或者可能已经将其设置得更低(通过调整),并且可能会遇到新安装的默认值1024的问题。希望这可以帮助到您。 - charlie arehart
显示剩余2条评论
1个回答

3

增加输出缓冲区仅允许服务器在每个请求中消耗更多的内存。设置上限可以防止模板引擎处理意外高数量的动态包含,并填满服务器的内存。

如果有一个单一的请求输出3MB的数据,那么增加缓冲区大小是安全的。 ;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接