2017-12-15 62 views
0

現在、Jenkinsの設定ページを開こうとすると45秒かかりますが、 はジョブの表示を要求したり、 3秒未満です。スレッドダンプに基づいて は、私たちが説明Jenkinsジョブの設定ページの読み込みが遅い

としてCPU「スパイク」とを得た結果を分析し、「あなたのアプリケーションが高いCPUに苦しんでいる可能性があります。」 スレッドのレポートを見ると、我々はすべてのブロックされた状態が、1つの容疑者のステータスが表示されていない: 「1つのスレッドが無限ループです:DestroyJavaVMは」

残念ながら私たちは、この高いCPUの原因を特定することができませんし、おそらく

関連する無限ループ。

これまでJenkinsを再起動してパフォーマンスを向上させるためにいくつかの手順を実行しましたが、55秒から45秒に10秒短縮されました。 JVMの最小/最大メモリパラメータを同じように再定義し、誇大宣言を4Gbに増やしても影響はありません。 同じJenkinsバージョン、同じインストールされたプラグイン、および同じOSを持つより低いハードウェア仕様のジョブ構成で、きれいなテストJenkinsインスタンスを作成します。 新しいテストJenkinsインスタンスのジョブ構成ページの負荷が3秒未満です。 このテストに基づいてインストールされたプラグインを主な問題として除外できるかどうかはわかりません。

他の提案は、問題を追跡できることです。

ThreadDump Analyse Report

私たちは、使用している: - のWindows Server 2008 R2のEnterprise SP1 - ジェンキンス(マスター):バージョン2.89.1 - ジャワ:JRE 1.8.0_112 - クライアントのウェブブラウザGoogle ChromeをApacheプラグイン - 1.7 Apache HttpComponentsクライアント4.x APIプラグイン - 4.5.3-2.0 Artifactory Plugin - 2.13.1 認証トークンAPI Plu(バージョン6.5.0)ジン - 1.3 Autofavoriteブルーオーシャンのための - 1.2.1 のBitbucket支店ソースのプラグイン - 2.2.7 ブルーオーシャン用のBitbucketのパイプライン - 1.3.4 ブルーオーシャン - 1.3.4 ブルーオーシャンパイプラインエディタ - 1.3.4 はBouncyCastle APIプラグイン - 2.16.2 ブランチAPIプラグイン - 2.0.15 ビルド名 - セッター - 1.6.7 ブルーオーシャン共通API - 1.3.4 条件付きビルドステップ - 1.3.6 ブルーオーシャン用コンフィグAPI - 1.3.4 設定ファイルプロバイダプラグイン - 2.16.4 アーティファクトプラグインをコピー - 1.39 資格情報バインディングプラグイン - 1.13 資格情報プラグイン - 2.1.16.1 CVSプラグイン - - ブルーオーシャンのための2.13 ダッシュボード - 1.3.4 ダッシュボードビュー - 2.9.11 破棄古いプラグインを構築する - 1.05 ディスク使用状況のプラグイン - 0.28 表示上流の変更 - 0.今すぐラベルをカスタマイズビルド.2 表示URL API - 2.2.0 青い海の表示URL - 2.2.0 ドッカーコモンズプラグイン - 1.9 ドッカーパイプライン - 1。14 耐久性のあるタスクプラグイン - 1.17 EnvInjectのAPIプラグイン - 1.4 環境インジェクタのプラグイン - ブルーオーシャン2.1.5 イベントAPI - 1.3.4 外部ジョブの監視タイプのプラグイン - 1.7 好き - 2.3.1 フォルダプラグイン - 6.2 0.1 のGitクライアントプラグイン - 1.3.4 のGitプラグイン - - 3.6.4 GITサーバプラグイン - 1.7 のGitHub APIプラグイン - 1.90 GitHubの支店ソースのプラグイン - 2.3.1 GitHubのブルーオーシャンのための2.6.0 GitのパイプラインBlue Oceanのパイプライン - 1.3.4 GitHubプラグイン - 1.28.1 Gradle Plugin - 1.28 HTML出版社のプラグイン - ブルーオーシャンのための1.14 国際化 - 1.3.4 アイコンシムプラグイン - 2.0.3 アイビープラグイン - 1.28 ジャクソン2 APIプラグイン - 2.8.7.0 のJavadocプラグイン - 1.4 JavaScriptのGUIのLib:ACEエディタバンドルプラグイン - 1.1 JavaScript GUIライブラリ:ハンドルバーバンドルプラグイン - 1.1.1 JavaScript GUIライブラリ:jQueryバンドル(jQueryとjQuery UI)プラグイン - 1.2.1 JavaScript GUIライブラリ:Moment.jsバンドルプラグイン - 1.1.1 JIRA統合Blue Ocean用 - 1.3.4 JIRAプラグイン - 2.5 ジョブ設定履歴プラグイン - 2.18 jQueryプラグイン - 1.12.4-0 JSch依存関係pl UGIN - 0.1.54.1 のJUnitプラグイン - ブルーオーシャンのための1.23 JWT - 1.3.4 LDAPプラグイン - 1.18 ロケールのプラグイン - 1.2 メーラープラグイン - 1.20 管理スクリプト - 1.4 て、mapdb APIプラグイン - 1.0.9.0 マトリクス認証戦略プラグイン - 2.2 マトリックスプロジェクトプラグイン - 1.12 Mavenの統合プラグイン - 3.0 Mercurialのプラグイン - 2.2 メトリックディスク使用量のプラグイン - 3.0.0 メトリックプラグイン - 3.1.2.10 監視 - 1.70.0 MSBuildのプラグイン - MSTestを1.28 プラグイン - 0.23 NAntプラグイン - 1.4。 3 OWASP依存-チェックプラグイン - 3.0.2 OWASPマークアップフォーマッタプラグイン - 1.5 PAM認証プラグイン - 1.3 パラメータ化されたトリガ・プラグイン - 2.35.2ブルーオーシャンのため パーソナ - 1.3.4 パイプライン - 2.5 パイプライングラフ分析プラグインAPI - 2.24 パイプライン:基本手順 - 2.6 パイプライン:ステップを構築する - ブルーオーシャンのための1.3.4 パイプラインSCMのAPI - - - 1.3.4 パイプラインユーティリティの手順1.5.1 パイプライン - ブルーオーシャン1.5 パイプラインの実装2.5.1 パイプライン:宣言的 - 1.2.5 パイプライン:宣言エージェントAPI - 1.1.1 パイプライン:宣言拡張ポイントのAPI - 1.2.5 パイプライン:Groovyの - 2.42 パイプライン:入力ステップ - 2.8 パイプライン:仕事 - 2.15 パイプライン:マイルストーンのステップ - 1.3.1 パイプライン:モデルAPI - 1.2.5 パイプライン:マルチブランチ - 2.16 パイプライン:ノードおよびプロセス - 2.17 パイプライン:REST APIプラグイン - 2.9 パイプライン:SCMのステップ - 2.6 パイプライン:共有Groovyのライブラリ - 2.9 パイプライン:ステージのステップ - 2.3 パイプライン:ステージタグメタデータ - 1.2 .5 パイプライン:ステージビュープラグイン - 2.9 パイプライン:ステップAPI - 2。14 パイプライン: - プラグイン2.16 プレーン資格 - サポートするAPI 1.4 プラグインの使用 - プラグイン - 0.3 PostBuildScriptプラグイン - 2.2.1 PowerShellのプラグイン - 促進1.3 プラグイン構築 - 2.31 パブ-SUB "光" バス - 1.12 品質ゲイツプラグイン - 2.5 再建 - 1.27 リソースディスポーザープラグイン - ブルーオーシャン0.8 REST API - ブルーオーシャンのための1.3.4 REST実装 - 1.3.4 ロールベースの認証戦略 - 2.6.1 実行条件プラグイン - 1.0 SCM APIプラグイン - 2.2.5 スクリプトセキュリティプラグイン - 1.36 サーバー送信されたイベント(SSE)ゲートウェイプラグイン - 1.15 シンプルなテーマプラグイン - ジェンキンス0.3 SonarQubeスキャナ - プラグイン2.6.1 SSH認証情報 - 1.13 静的解析ユーティリティ - 1.93 構造体のプラグイン - 1.10 Subversionのプラグイン - 2.9 Team Foundation Serverのプラグイン - 5.126.0 スロットル同時のプラグインをビルド - 2.0.1 タイムスタンパー - 1.8.8 トークンマクロプラグイン - 2.3 バリアントプラグイン - ブルーオーシャン1.1 ウェブ - 1.3.4 Windowsスレーブプラグイン - 1.3.1 ワークスペースクリーンアッププラグイン - 0.34

+0

これはVM内で実行される単一のjenkinsインスタンスですか?どれくらいのジーンキンがビルドされていますか? VMのハードウェア仕様(メモリ、CPUなど) – grizzthedj

答えて

0

まず、自分のためにこれらの質問に答える:

  • は同じジェンキンスサーバー上で実行されているが、他のCPUに負荷をかけプロセスはありますか?

  • CPUの負荷が高いのは、IOが高いために発生する可能性があります。ディスクのIOはどうですか?

  • RAMとページングの負荷が低い場合のJVMは、CPU負荷を上昇させる可能性があり、アプリケーションのパフォーマンスが低下する可能性があります。

だからあなたのトラブルシューティングの手順は次のようになります。

  • は、あなたのCPUのサポートマルチスレッドのか?それがシングルスレッドで、複数のスレッドを開始すると、これが結果になる可能性があります。

  • は、各プロセスの平均CPU使用率を検索し、CPUサイクルを食べて何も(それはすべきではない。)

  • 全体のRAM使用量です。

  • ディスクIOパフォーマンスメトリック - 期待していないときにIOでスパイクが見られますか?

  • Jenkinsによって開始された子プロセスを特定する - 各プロセスの平均リソース使用率を確認します。これらのすべてのリソース(CPU、RAM、ディスクIO?)

は、あなたがそれに応じてチューニングボックスとあなたのプロセスをすべきで、あなたは何を見つけるに基づいての過負荷をしています。これはリソースを追加することを意味します。

関連する問題