sonarqube服务器

时间:2016-08-25 14:48:57

标签: java sonarqube response-time sonarqube-ops

运行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

上运行

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

2 个答案:

答案 0 :(得分:0)

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

  1. 重启(每日安排)
  2. 安排流程定期轮询服务器(只需执行curl的shell脚本并每隔几分钟记录响应时间)
  3. 仍有一些差异,我需要分析,但重新启动sq后,平均延迟显着下降(平均响应在~0.6秒与10+之间),它仍然有点慢imo,但是因为sq是只在内部使用,我很好。最重要的是,没有一个扫描仪作业失败。在重新启动之前,具有套接字超时的作业的故障率约为60%

答案 1 :(得分:0)

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

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

我还发现,如果禁用声纳scm,扫描速度通常会更快

项目->项目设置-> SCM->禁用SCM传感器(选中)

sonar.scm.disabled = true