1

运行 SonarQube 5.3 服务器时,我遇到了响应时间非常慢的问题,因此各种作业扫描程序出现了很多套接字超时错误。只是为了给出一些观点,SonarQube 正在 Windows 7 机器上运行(不要问),Jenkins 也是如此(在单独的 tomcat 实例中)

Jenkins 的响应时间:平均 <0.1 秒

SonarQube 的响应时间:3-30 秒,平均范围约为 9-12 秒

SonarQube 作为 Windows 服务安装,运行 Jenkins 的 Tomcat 也是如此。

SQ 运行的数据库服务器是 Oracle,我真的怀疑这是延迟的来源,因为 Oracle 服务器既快速又本地......这是 jvm 选择 sq

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

我有点不知所措,因为我不知道如何提高响应时间?(除了可能在其他硬件/操作系统上运行它。)

4

2 回答 2

0

通过执行以下操作,我能够大大提高服务器的响应时间:

  1. 重启(每天安排)
  2. 安排一个进程定期轮询服务器(只是一个执行 curl 并每隔几分钟记录响应时间的 shell 脚本)

仍然存在一些差异,我需要分析,但是在重新启动 sq 后,平均延迟显着下降(平均响应在 ~0.6 秒 vs. 10+),它仍然有点慢 imo,但由于 sq 仅在内部使用,我没问题。最重要的是,没有一个扫描仪作业失败。在重启之前,套接字超时的作业的失败率约为 60%

于 2016-08-26T14:02:20.790 回答
0

也许您可以添加要排除的文件以缩小扫描范围。

尝试排除不需要的文件。 https://docs.sonarqube.org/latest/project-administration/narrowing-the-focus/

我还发现如果您禁用声纳 scm,扫描往往会更快

项目->项目设置->单片机->禁用单片机传感器(选中它)

sonar.scm.disabled = true

于 2020-09-07T06:05:35.677 回答