Confluence 与 JIRA 的三个线上问题及调优记录

Confluence 和 JIRA 上线运行一段时间后集中遇到的三个问题,加上顺手做的性能调整。配置位置、参数值都记在这里。

问题一:页面保存或编辑卡住

wiki01
wiki02

社区有类似反馈,属于版本 BUG,诱因是 Tomcat 进程卡死。解法是升级到新版本,同时调整 JVM 内存堆栈大小。两种调法,方式一是全局 JVM 调整:

[root@atlassian_confluence ~]# vim /opt/atlassian/confluence/bin/catalina.sh
JAVA_OPTS="-Xms2048m -Xmx4096m -XX:PermSize=512m -XX:MaxPermSize=1024m"

方式二是只调当前 Tomcat 服务:

CATALINA_OPTS ="-Xms2048m -Xmx4096m -XX:PermSize=512m -XX:MaxPermSize=1024m"

参数说明。JAVA_OPTS 表示整个 JVM 的内存大小,CATALINA_OPTS 表示当前 tomcat 允许使用的内存大小。一台机器上有多个需用 JVM 的服务(多个 tomcat 或 jboss 等)时两个参数都要设置:优先启动设置了 JAVA_OPTS 的那个——第一个启动的服务会触发 JVM 启动,此时 JAVA_OPTS 才生效,其余服务只设 CATALINA_OPTS,并保证所有 CATALINA_OPTS 之和在 JAVA_OPTS 之内。

wiki03

-Xms 是初始化堆内存值,-Xmx 是堆内存最大值,这两个值是 tomcat 内存动态分配的体现:刚启动分到 Xms,占用达到初始值的一定比例(有说法是 80%,未验证)才扩到 Xmx;占用降到 Xmx 的 40% 时回收,退回 Xms。-XX:PermSize 是 JVM 初始分配的非堆内存,不会被回收,生产环境建议与 MaxPermSize 相同、设为 256m 以上;-XX:MaxPermSize 生产建议 800M-1024M,也有要求将其设为 -Xmx 的 1/4 的说法。

wiki04

问题二:编辑器连接超时

wiki05
wiki06

原因是 websocket 默认连接超时时长为 10000ms,编辑时间超出即断开。两个方案:其一,用管理员账号登入后台,把 websock 的连接超时时间调整为 120000ms,也就是 2 分钟;其二,检查同步状态。

wiki07
wiki08
jira01

问题三:导入导出操作卡死

进行导入导出操作时卡住,日志显示 WARNING:

[ContainerBackgroundProcessor[StandardEngine[Standalone]]] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected Thread “http-nio-8080-exec-11” (id=749)

官方社区的结论是这其实不算一个问题:线程释放后,会对其进行处理。但这里可以调整一下 http 线程数,默认为 48:

[root@confluence ~]# vim /opt/atlassian/confluence/conf/server.xml

调整完成后重启服务生效:

[root@confluence ~]# /opt/atlassian/confluence/bin/shutdown.sh
[root@confluence ~]# /opt/atlassian/confluence/bin/startup.sh
wiki09
wiki010

性能调整:JVM 内存与会话超时

JIRA 调内存:停掉程序进入 bin 目录(这是示例安装路径,按自己环境改),修改 setenv.sh,启动后在设置中的系统信息里查看变更情况。

 ~]# cd /opt/atlassian/jira/bin/     #这里是我的JIRA安装路径,你要改成你自己环境的JIRA安装路径
]# vim setenv.sh

Confluence 同理,停程序进目录后改 setenv.sh:

~]# cd  /opt/atlassian/confluence/bin/
]# vim setenv.sh

另外还可以调整 confluence.cfg.xml 里的数值:

~]# vim /var/atlassian/application-data/confluence/confluence.cfg.xml
jira02

JIRA 和 WIKI 的默认会话超时时间为 30 分钟,分别在两个产品的 web.xml 里修改:

~]# vim /opt/atlassian/jira/conf/web.xml
~]# vim /opt/atlassian/confluence/conf/web.xml
wiki011

提醒:catalina.sh、setenv.sh、server.xml、web.xml 这类文件在产品升级时会被覆盖,调整前先备份,升级后把改动重放一遍。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容