Aay*_*uri 7 java performance jit jvm throughput
我最近了解了在开始提供实际请求之前需要预热应用程序(具有高吞吐量要求)的方案.这背后的逻辑是允许JIT发挥其性能魔力!
这是Java应用程序的标准还是通常用于内存繁重(占用空间)的应用程序?
che*_*vim 12
如果您正在谈论高流量的webapp /网站,那么JIT是一个非常小的问题.最大的问题是预热(填充)您需要拥有的所有缓存层.例如,从hibernate填充的ehcache区域.这是因为IO相关操作比CPU内部发生的任何事情都要慢几个数量级(除非你在计算分形:)
现在的问题是,当将要走出自己的方式做到这一点?
如果您推出了一个webapp,并且它立即生效,那么当您"加热"它时,您将增加额外的负载,这会适得其反.桌面应用程序启动时也是如此.如果用户要立即开始使用它,就没有必要加温.或者更糟糕的是,在您加热应用程序时不允许用户进行交互.
如果您推出了一个webapp,并在将负载均衡器指向它之前测试了部署,那么您已经将其作为副作用加热了.