首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与1.6相比,使用Java 1.7时,Coldfusion 10速度较慢

与1.6相比,使用Java 1.7时,Coldfusion 10速度较慢
EN

Stack Overflow用户
提问于 2014-02-13 23:27:35
回答 2查看 1.1K关注 0票数 19

我有一个在Coldfusion 10 64bit上运行的have服务。在调查内存泄漏时,我将JRE从1.6升级到1.7,但注意到性能受到了显着影响。我已经创建了一个简单的测试per服务,在JRE 1.6上,只要我将JRE更改为1.7,我就可以轻松地以每分钟5000个请求的速度运行,尽管这个速率每分钟下降了2000或更少。有没有人知道微调设置或我遗漏的东西。

我更喜欢使用JRE 1.7,因为它似乎已经解决了我遇到的内存泄漏问题。

  • 运行服务器JRE: Java版本"1.7.0_51“Java(TM) SE运行时环境(build 1.7.0_51-b13) java HotSpot(TM) 64位服务器VM (build 24.51-b03,混合模式) JVM中的
  • 垃圾回收设置:-XX:+UseParallelGC
  • Changed垃圾回收到:-XX:+UseG1GC这没有区别。

在性能没有提高的情况下遵循the recommendations from here。将与jvisualvm审查,并发布我的调查结果。

更新:Java7有changed the way it deals with synchronizing class loaders,看起来这可能是速度减慢的原因。

Adobe Update已经承认了这个漏洞,并正在寻求修复它。Adobe bug base record.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-15 05:05:03

这个问题的答案是,Adobe已经承认了这个错误,并正在寻求修复它。Adobe bug base record

票数 5
EN

Stack Overflow用户

发布于 2014-04-11 22:35:21

我建议您在两次负载测试运行之间检查JVM线程转储数据(JRE1.6与JRE1.7)。我在过去看到过与内存中cfdump和cfquery的使用(查询查询)相关的CF10类加载器问题。

将您的分析重点放在使用JRE 1.7时可能面临的任何线程锁争用问题上。

您所指的类加载器更改实际上应该可以提高类加载操作的并发性,但仍然不是不可能的,因为它可能会在您的环境中触发一些缓慢。

另一个建议是查看GC内存分配率。为此,启用verbose:gc并比较两次运行之间的输出数据。确定GC内存分配率和/或GC频率的任何增加是否可能是吞吐量下降的根本原因。

最后,对JVM参数进行非常仔细的回顾。确保您的Java堆调优参数(包括堆大小)与JRE 1.6中的参数完全相同,这样我们就可以比较苹果和苹果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21758449

复制
相关文章

相似问题

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