2

Grailsを使用してWebアプリを開発します。productioでは、WebアプリはJettyで実行されます。JMeterを使用してパフォーマンステストを実行し、yourkitを使用して突堤のメモリ消費量を分析しました。

Jettyをparams-Xms1500m-Xmx1500mで開始したので、キットでは、割り当てられたメモリが約1.5GBであることがわかります。しかし、Jettyはそれをすべて使用しているわけではなく、常に約300〜500mであり、パフォーマンスが低下します。少数のリクエストのみを処理できます。

  • CPUが完全にロードされていない、常に約50%のみ
  • Jettyはデフォルト設定で実行されており、6.1.21が使用されています
  • MySQLクエリは単純で、DBサイズは小さく、Jettyと同じマシンで実行されますが、問題になることはありません。
  • FileAppenderを介してHDDに書き込まれたログr
  • JMeterは十分なリクエストを生成します
  • Yourkitは、ライブスレッドの数が約60であることを示しています

では、パフォーマンスを向上させるために、どのようにしてjettyに割り当てられたすべてのメモリを使用させることができますか?

どうもありがとうございました!

4

1 に答える 1

2

問題はおそらくメモリではなく、十分にあるようです。

おそらく、排他ロックなど、他の競合点があるでしょう。

スレッドのスナップショットをいくつか作成して、スタックしている場所を調べることをお勧めします。競合を見つける必要があります。

于 2009-10-19T09:29:53.477 に答える