2

我们使用 Grails 开发 webapp。在 productionio 中,webapp 在 Jetty 上运行。我们使用 JMeter 运行 performance-test 和 yourkit 来分析 jetty 的内存消耗。

我们使用参数 -Xms1500m -Xmx1500m 启动 Jetty,所以在 yourkit 中我们还可以看到分配的内存大约为 1.5gb。但是 Jetty 并没有全部使用它,总是大约 300 - 500m 并且性能很差。只能服务几个请求/秒。

  • CPU 没有满载,一直只有 50% 左右
  • Jetty 使用默认设置运行,使用 6.1.21
  • MySQL 查询很简单,DB 很小,和 Jetty 在同一台机器上运行,不会是问题
  • 日志 r 通过 FileAppender 写入 HDD
  • JMeter 产生足够的请求
  • Yourkit 显示活动线程数约为 60

那么我们如何强制码头使用所有分配的内存以获得更好的性能呢?

非常感谢你!

4

1 回答 1

2

问题可能不是内存,看起来你已经足够了。

您可能还有其他争论点,例如排他锁。

我建议你对你的线程拍几张快照,以检查它们卡在哪里。你应该找到争论。

于 2009-10-19T09:29:53.477 回答