[英]Very slow response times from sonarqube server
运行 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
上运行
我有点不知所措,因为我不知道如何改进响应时间? (除了可能在其他硬件/操作系统上运行它。)
通过执行以下操作,我能够大大缩短服务器的响应时间:
仍然存在一些差异,我需要分析一下,但是在重新启动 sq 后,平均延迟显着下降(平均响应时间为 0.6 秒对 10+),imo 仍然有点慢,但因为 sq 仅在内部使用,我没问题。 最重要的是,没有任何扫描器作业失败。 在重新启动之前,套接字超时的作业的失败率约为 60%
也许您可以添加要排除的文件以缩小扫描范围。
尝试排除您不需要的文件。 https://docs.sonarqube.org/latest/project-administration/narrowing-the-focus/
我还发现,如果禁用声纳 scm,扫描速度会更快
Project->Project Settings -> SCM -> Disabed the SCM sensor (checked it)
sonar.scm.disabled = true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.