首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复ColdFusion应用程序运行速度慢得多的沙箱安全?

如何修复ColdFusion应用程序运行速度慢得多的沙箱安全?
EN

Stack Overflow用户
提问于 2016-07-22 17:51:46
回答 1查看 138关注 0票数 3

最近,我们升级到ColdFusion 11企业级,并注意到成熟的沙箱安全性往往比标准版(CF10)的开销要大得多。

如何才能使现有的CF应用程序在沙箱安全方面表现良好?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-22 17:51:46

以下是我迄今为止的发现:

  • 通过将VisualVM添加到CF的JVM参数中来安装-Dcom.sun.management.jmxremote.port=8701 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false。了解如何使用它,并特别注意CPU快照和热点选项卡。http://boncode.blogspot.ca/2010/04/cf-java-using-free-visualvm-tool-to.html。企业版中的是完全无用的,因为它的内存/性能分析开销太大,无法在实际生产服务器上运行,而且在负载下性能不佳,无法向您提供任何可能出错的有用数据。
  • 禁用IPv6,并将[serverip] [serverip]添加到操作系统的主机文件中,以加快通过安全经理创建新的物理DB连接时的默认DNS反向代理查找。见:在Linux上,Java在打开套接字时执行反向DNS查找。为什么,我怎么才能阻止它? (FYI,Windows受影响)
  • 尽可能多地删除<cfmodule><cfinclude>,因为它们最终会产生许多java.io.File.canRead()java.io.File.exists(),这将在负载下对磁盘IO造成压力。即使是SSD在负荷下也会受到影响。我试过信任Cache,但没有帮助。相反,尝试在application作用域中使用缓存的CFC,并确保代码是线程安全和本地var‘’ed的。
  • 尽可能避免使用<cfinterface>extends继承和getMetaData(),因为它们最终会调用java.io.File.lastModified(),这将在加载时对磁盘IO造成压力。窃听器?
  • 消除access="package"的使用,因为它将导致许多java.security.AccessController.checkPermission调用。
  • 每个请求的对象越少越好,因为每个对象实例化都会增加额外的java.security.AccessController.checkPermission调用的成本。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38532586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档