1

SonarQube 5.3 サーバーを実行していますが、応答時間が非常に遅く、その結果、さまざまなジョブ スキャナーから多くのソケット タイムアウト エラーが発生します。いくつかの見通しを示すために、SonarQubeはWindows 7ボックスで実行されています(尋ねないでください)、Jenkinsも(Tomcatの別のインスタンスで)実行されています

Jenkins からの応答時間: 平均 0.1 秒未満

SonarQube からの応答時間: 3 ~ 30 秒、平均で約 9 ~ 12 秒の範囲

SonarQube は Windows サービスとしてインストールされ、Jenkins が実行されている Tomcat も同様にインストールされます。

SQ が実行されているデータベース サーバーは Oracle です。Oracle サーバーは高速でローカルであるため、それが遅延の原因であるとは思えません。sq の jvm オプションは次のとおりです。

sonar.web.javaOpts=-Xmx1536m -Xms256m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -server -Djava.net.preferIPv4Stack=true -Djruby.compile.invokedynamic=false -Dfile.encoding=UTF-8

実行中java 1.8_u45

応答時間を改善する方法がわからないので、ちょっと途方に暮れていますか? (おそらく他のハードウェア/OSで実行する以外に。)

4

2 に答える 2

0

以下を実行することで、サーバーからの応答時間を大幅に改善することができました。

  1. 再起動 (毎日スケジュール)
  2. サーバーを定期的にポーリングするプロセスをスケジュールします (curl を実行し、数分ごとに応答時間を記録するシェル スクリプトのみ)

まだいくつかの不一致があり、分析する必要がありますが、sq を再起動した後、平均レイテンシーが大幅に低下しました (平均応答時間は 10+ 秒に対して ~0.6 秒)。まだ少し遅いですが、sq は内部でのみ使用されるためです。 、私はそれで大丈夫です。最も重要なことは、スキャナー ジョブがどれも失敗しなかったことです。再起動前は、ソケット タイムアウトのあるジョブの失敗率は約 60% でした

于 2016-08-26T14:02:20.790 に答える
0

おそらく、除外するファイルを追加して、スキャンを絞り込むことができます。

不要なファイルを除外してみてください。 https://docs.sonarqube.org/latest/project-administration/narrowing-the-focus/

また、ソナーscmを無効にすると、スキャンが高速になる傾向があることがわかりました

プロジェクト - >プロジェクト設定 - > SCM - > SCMセンサーを無効にしました(チェックしました)

sonar.scm.disabled = true

于 2020-09-07T06:05:35.677 に答える