1

2台のマシンにTomcatシステムをセットアップしたLiferay6があります。

Machine 1: Windows 2003 Server 2GB RAM, 2Gh CPU Mysql Ver 14.14 Distrib 5.1.49 Liferay 6.0.6 with Tomcat 6

Machine 2: Linux CentOS 5.5 4GB RAM, 2Gh CPU Mysql Ver 14.14 Distrib 5.5.10 Liferay 6.0.6 with Tomcat 6

両方のliferayシステムは、同一の起動パラメーターとmysql構成を持っています。liferayシステムには、カスタムテーマと各URLアクセスをチェックするサーブレットフィルターフックが含まれています。

で始まるシステムの負荷をテストするためのGrinderスクリプトを作成しました50 concurrent users

テストスクリプトは次のことを行います。

  1. ホームページを開く
  2. ユーザー名/パスワードでログイン
  3. セキュリティキーを入力します(カスタムポートレット)
  4. プライベートコミュニティに移動する
  5. ログアウト

Windowsシステムでは、応答時間は予想どおりです(Grinderでの各テストの平均時間は約40秒です)。ただし、Linuxシステムでは、同じ操作に対して応答時間が長すぎます(約4分)。

mysql、tomcat、接続プール、およびその他のいくつかのパラメーターを修正しようとしましたが、すべて同じ結果になりました。また、ライフレイは他のマシンのmysqlを使用してテストされました(マシン1ライフレイ->マシン2 mysql)

テスト環境のLinuxマシンでも、クライアント側でも同じ問題に直面しています。

4

2 に答える 2

1

これは重複した質問のようです。あなたの問題は、メモリ/jvm構成、特にガベージコレクションに関連していると思われます。負荷が小さい場合の高い CPU 使用率は、その方向を指す傾向があります。

于 2011-09-01T00:32:59.697 に答える
0

Grinder スクリプトで、各ステップを個別のトランザクションとして設定しましたか? これにより、各ステップにかかる時間を確認できます。全体的にすべてが遅いのか、それとも速度を落としているのは 1 つのトランザクション タイプだけなのかを知ることは役に立つかもしれません。

また、Linux ボックスの Tomcat ログに、Windows で表示されないものはありますか? 予期しない Java スタック トレースなど?

最後に、各マシンのデータベースは同一ですか? それらは同じ量のデータを持っていますか?それらは同じインデックスを持っていますか?

編集:余分な時間を費やしているのは1つのトランザクションですか、それとも各トランザクションが遅いですか? Linux ボックスで「top」を実行すると、すべての CPU を消費するのは Tomcat Java プロセスですか、それとも他のプロセスですか?

于 2011-08-10T17:15:28.767 に答える