java – Tomcat零星延迟

栏目: Java · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/15007706/tomcat-sporadic-latency

我一直在微观优化我们在Tomcat上的页面响应时间,几乎在所有情况下,如果我反复刷新,我将看到50ms的响应时间,但如果页面没有被击中一两秒,则响应时间会跳回来到500ms.

我看到了同样的行为,无论是本地的,不是本地的,APR,NIO,JIO,静态或动态响应(即提供静态文件或动态处理响应).到目前为止,我还没有看到这种行为在Tomcat上没有发生(无论频率如何,这都是一致的400ms).

我也使用Visual VM来查看是否有任何线索.

我认为这是一种保持活力,但是当我运行Apache Bench时,我的响应时间更快(超过50ms)(显然是因为它频繁地击中它).

那么如何在Tomcat中保持低延迟不频繁命中的URL?也许这个问题更适合ServerFault?

更新:我几乎肯定它是一个Tomcat 6问题.我以为我已经在Tomcat 7上进行了测试,但我刚刚对它进行了测试并且没有问题(见下面的结果).即使是最新的Tomcat 6仍然存在这个问题.

这是Tomcat 6的ab输出(注意最大值):

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    14   39  45.2     30     314
Waiting:       14   38  45.2     30     314
Total:         14   39  45.2     30     314

这是Tomcat 7的ab输出通知最大值:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    25   38   8.8     37      67
Waiting:       25   37   8.7     36      66
Total:         25   38   8.8     37      67

Tomcat版本是唯一的区别(相同的机器,相同的JDK等…).

我确信最新的Tomcat 6会很好但是在第一次请求时它有类似的延迟.

偷看tomcat代码我决定在理论上搜索“Weak”这个词,你的问题是当你没有快速重新请求时收集弱引用的东西.

我想出了以下猜测……我找到了这个有趣的课程:

http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/javax/el/BeanELResolver.java?revision=1027187&view=markup

它似乎维护了BeanProperties对象的缓存,其中一部分由WeakHashMap处理,每当缓存填满时,所有内容都放在WeakHashMap中并且可以被垃圾收集.如果请求弱地图中的项目,则将它们放回主地图中(这不是弱点).如果您的页面在处理结束时突然发生此行为(通过添加类似BeanProperties中缓存大小的内容,您最终可能会丢弃几乎所有缓存的bean描述.

方便地,有一个属性可以调整:

private static final String CACHE_SIZE_PROP =
    "org.apache.el.BeanELResolver.CACHE_SIZE";

所以也许尝试使用它,看看它是否会影响行为?然而,这可能不是它,因为我在Tomcat 7中没有看到这个类中的大变化(快速查看),你说你的问题消失了. (你在之前的调整工作中是否一直在调整这个属性?)

翻译自:https://stackoverflow.com/questions/15007706/tomcat-sporadic-latency


以上所述就是小编给大家介绍的《java – Tomcat零星延迟》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图灵的秘密

图灵的秘密

Charles Petzold / 杨卫东 / 人民邮电出版社 / 2012-11 / 69.00元

图灵机是英国数学家阿兰•图灵提出的一种抽象计算模型,本书深入剖析了图灵这篇描述图灵机和可计算性的原始论文《论可计算数及其在判定性问题上的应用》。书中在详解论文的同时,也附带了大量的历史背景资料、图灵的个人经历,以及图灵机对于人们理解计算机、人类意识和宇宙所产生的影响。 本书适合所有计算机科学专业的学生、程序员或其他技术人员,同时也适合欲了解图灵生平及其构建图灵机的思维的读者阅读。一起来看看 《图灵的秘密》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码