検索

ホームページ  >  に質問  >  本文

java - http サービスの CPU ストレス テストを行う方法 (tomcat)

前提: 皆さん、こんにちは。アプリケーションのボトルネックがどこにあるのかを確認するために、Tomcat サーバーのストレス テストを行う必要があります。ただし、テスト プロセス中に、CPU が jvm リソースによって占有されていません。 50% に達しました。mysql はダウンしました。

次に、アプリケーション サービスのボトルネックを調べたいと思います。同時実行性が高いと、CPU が高くなりすぎます。これを実現するにはどうすればよいですか?
私が考える方法は、コードレベルで複数のスレッドを作成し、データベースの読み書きを行わず、CPU を稼働させることです。出来ますか? ?
ありがとう~~

女神的闺蜜爱上我女神的闺蜜爱上我2805日前1302

全員に返信(5)返信します

  • phpcn_u1582

    phpcn_u15822017-06-28 09:24:50

    一般的に言えば、Web アプリケーションのボトルネックはデータベースです。アプリケーション サーバー (Tomcat であろうとその他であろうと) が過負荷になっている場合、一般的にはサーバーを追加することで解決できます。

    コストを削減し、アプリケーションのボトルネックがどこにあるのかを特定したい場合は、次のようなストレス テストのコツがあります:

    データベースが簡単にダウンしないように、mysql ストレージ エンジンを blackhole に変更します。

    返事
    0
  • PHP中文网

    PHP中文网2017-06-28 09:24:50

    CPU 使用率が高すぎる場合は、データベース接続プールを使用してリンクの作成が制限されます。データベースへのアクセスを減らすために、まれに更新されるデータを Redis などのキャッシュに配置して、データを取得するたびにデータベースにアクセスする必要をなくすことができます。

    単純なストレス テストの場合は、Apache サーバーの ab を使用します。複雑なテストの場合は、JMeter を使用すると、問題の原因を簡単に分析して見つけることができます。

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-06-28 09:24:50

    jvmリソースが占めるCPUが50%に達しておらず、mysqlが引きずられています

    これはデータベース操作に問題があるようです。たとえば、SQL を最適化するか、データベース操作を減らすためにキャッシュを追加する必要があります。 Tomcat とは何の関係もありません。

    返事
    0
  • 大家讲道理

    大家讲道理2017-06-28 09:24:50

    MySQL がダウンしている場合は、SQL が最適化されているかどうか、SQL が遅いかどうか、テーブル全体のスキャンが行われているかどうかを確認する必要があります。インデックスが効率的です。さらに、データベースの同時実行性を制御するために接続プールを使用しましたか? MySQL でサポートされる同時実行性は CPU コアの数に関連しています。一般に、SQL が遅いとデータベースが簡単にダウンしてしまいます

    返事
    0
  • 世界只因有你

    世界只因有你2017-06-28 09:24:50

    一般的なシステムのボトルネックは、基本的にサーバーの数を増やし、リクエストを最適化することで解決できます。 より大きなボトルネックは基本的にデータベース リンクにありますが、リクエストの同時実行ボトルネックをテストしないと接続できません。テストのためにデータベースにアクセスすることは基本的に効果がなく、実際のプロジェクトには役に立ちません。得られたボトルネックは、実際のボトルネックではありません

    返事
    0
  • キャンセル返事