相关疑难解决方法(0)

减少Java"预热"时间的技术或实用程序?

我支持需要低延迟(每个消息处理<300微秒)的Java消息传递应用程序.但是,我们的分析显示Sun Java虚拟机最初运行缓慢,并且在前5,000条消息之后加速.前5,000条消息的延迟为1-4毫秒.在大约前5,000个后,后续消息的延迟约为250微秒,偶尔会有异常值.

通常理解这是Java应用程序的典型行为.但是,从业务角度来看,告诉客户他们必须等待JVM"热身"才能看到他们所要求的性能是不可接受的.在处理第一个客户消息之前,应用程序需要"预热"

JVM是Sun 1.6.0 update 4.

克服这个问题的想法:

  1. JVM设置,例如-XX:CompileThreshold =
  2. 添加组件以在启动时"预热"应用程序,例如通过应用程序发送"假消息".
  3. 在应用程序启动时静态加载应用程序和JDK类,以便在处理客户消息时不从JAR加载类.
  4. 一些实用程序或Java代理完成上述两个想法中的一个或两个,这样我就不必重新发明轮子了.

注意:显然,对于这个解决方案,我正在考虑所有因素,包括芯片拱,磁盘类型和配置以及操作系统设置.但是,对于这个问题,我想集中讨论如何优化Java应用程序并最大限度地减少"预热"时间.

java performance messaging

40
推荐指数
3
解决办法
2万
查看次数

有没有办法为下次运行保存JAVA JIT信息,这样我就不必每天都热身了代码?

我有一个每天运行的JAVA进程,在JIT完全优化之前需要大约1,000或2,000次点击.我想要做的是保存JIT信息,以便第二天它可以在优化状态下启动.看起来这应该是可能的,但我还没有找到任何方法.

java optimization jit

13
推荐指数
1
解决办法
885
查看次数

标签 统计

java ×2

jit ×1

messaging ×1

optimization ×1

performance ×1