解決Jira和Confluence訪問開啟越來越緩慢問題

散盡浮華發表於2018-08-03

 

Jira和Confluence部署在同一臺伺服器上,跑一段時間後,發現訪問jira和confluence時,開啟越來越緩慢。這是因為根據主機實體記憶體不同,預設的java虛擬機器記憶體也會不同(一個較低值),有時候不夠用,可以修改JAVA預設的JVM記憶體設定,改善記憶體不足導致的問題。操作如下:

1)Jira修改JVM記憶體(根據自己伺服器的記憶體情況進行修改)

[root@jira_confluence ~]# cd /opt/atlassian/jira/bin/
[root@jira_confluence bin]# cp setenv.sh  setenv.sh.bak
[root@jira_confluence bin]# vim setenv.sh
.......
JVM_MINIMUM_MEMORY="4096m"                #預設是384m
JVM_MAXIMUM_MEMORY="8192m"                #預設是768m

重啟jira服務
[root@jira_confluence bin]# /etc/init.d/jira stop
[root@jira_confluence bin]# /etc/init.d/jira start
[root@jira_confluence bin]# lsof -i:8080           #確認8080埠起來。重啟服務後,過一會兒埠才會起來

2)Confluence修改JVM記憶體

[root@jira_confluence ~]# cd /opt/atlassian/confluence/bin/
[root@jira_confluence bin]# cp setenv.sh setenv.sh.bak20180803
[root@jira_confluence bin]# vim setenv.sh
......
CATALINA_OPTS="-Xms4096m -Xmx8192m -XX:+UseG1GC ${CATALINA_OPTS}"
 
重啟confluence服務
[root@jira_confluence bin]# /etc/init.d/confluence restart
[root@jira_confluence bin]# lsof -i:8090         #確認8090埠起來


----------------------------------------------------------------------------
還可以修改檔案/var/atlassian/application-data/confluence/confluence.cfg.xml檔案中的數值,如下:
[root@file-server ~]# cat /var/atlassian/application-data/confluence/confluence.cfg.xml
.......
 <property name="hibernate.c3p0.acquire_increment">10</property>         #預設為1
    <property name="hibernate.c3p0.idle_test_period">100</property>
    <property name="hibernate.c3p0.max_size">60</property>
    <property name="hibernate.c3p0.max_statements">60</property>         #預設為0
    <property name="hibernate.c3p0.min_size">20</property>
    <property name="hibernate.c3p0.timeout">120</property>               #預設為30

=======================踩過的坑=======================
如上調整後,發現過一段時間,confluence突然打不開了,出現502報錯!
檢視/var/atlassian/application-data/confluence/logs/atlassian-confluence.log日誌,出現下面報錯:
........
WARN [synchrony-interop-executor:thread-2] [plugins.synchrony.bootstrap.DefaultSynchronyProxyMonitor] pollHealthcheck Could not ping the synchrony-proxy [http://127.0.0.1:8090/synchrony-proxy/healthcheck]: {}
java.net.SocketTimeoutException: Read timed out

最後發現是上面調整的confluence的jvm記憶體給的太大了,適當將記憶體調小一些,或恢復為預設記憶體大小,重啟confluence服務,即可恢復正常訪問!
所以,confluence和jira的JVM記憶體並非是設定的越大,它們訪問就越快!一般記憶體設定到1024M或者2048M即可!

相關文章