Confluence 6 高級性能診斷
請在你的系統服務請求中包括下面所有的信息,如果可能的話,你也可以在請求中包括你認為最有可能出現的問題。這樣的話,可以避免我們進一步對你系統的問題進行詢問。
系統信息
Confluence 服務器
- 你系統信息的屏幕截圖 Confluence‘s
Administration → System Information
(或者將頁面保存為 HTML 文件) - 系統緩存狀態的屏幕截圖 Confluence‘s
Administration → Cache Statistics
(或者將頁面保存為 HTML 文件) - 找到你 Confluence 運行服務器的硬件配置信息
- 有幾個 CPUs?CPU 的型號是什麽,有多少 MHz?
- 你的服務器上裝了多少內存?
- 在 Confluence 的 JVM 使用了多少服務器的內存?(例如在 JVM 中 -Xmx 和 -Xms 的設置)
- 在同樣的服務器上,你還運行了一些其他的什麽服務?
Confluence 內容
- 在你的 Confluence 中有多少註冊用戶?
- 在通常的情況下,你的用戶會屬於多少用戶組?
- 在你的 Confluence 服務器中有多少空間(全局和個人用戶)?
- 平均來說對一個用戶可以查看到多少空間?
- 在i的 Confluence 中有多少頁面(你可以在你的數據庫中執行下面的 SQL 來進行查看:‘
select count(*) from content where prevver is null and contenttype = ‘PAGE‘
- 在 Bandana 中存儲了多少數據(通常被插件來使用存儲數據)?(你可以在你的數據庫中執行下面的 SQL 來進行查看:‘
select count(*), sum(length(bandanavalue)) from bandana
‘)
數據庫
- 你 Confluence 服務器使用的數據庫的版本?
- 你 Confluence 訪問數據庫服務器使用的 JDBC 版本?(針對一些數據庫,數據庫驅動的 JRA 中中版本的版本號)
- 你的數據庫與 Confluence 服務器是否在同一個服務器上?
- 如果數據庫服務器和 Confluence 服務器在不同的服務器上,那麽網絡配置是怎麽樣的?
- 有關數據庫連接細節是什麽?數據庫的連接池有多大?如果你使用的是標準配置,你可以在 _cfg.xml 文件中找到這個配置信息。如果你使用的是數據源信息,那麽這個信息將會存儲在你應用服務器上的配置文件中。請獲得這些配置信息。
用戶管理
- 你當前正在使用的用戶管理或授權?(例如,Jira 或者 LDAP 用戶目錄或者單點登錄)
- 如果你使用的是外部 JIRA 用戶管理,那麽在 Confluence 和 JIRA 之間的數據庫是如何進行配置的?
- 如果你使用的是 LDAP 管理:
- 有關 LDAP 服務器的版本是什麽?
- LDAP 服務器和你的 Confluence 應用之間的配置是什麽樣的?
診斷
觀察到的問題
- 那個頁面存在載入緩慢?
- 如果是一個特定的 WIKI 頁面,請將這個 WIKI 頁面中的源代碼也同時提交
- 這個頁面總是載入緩慢還是偶爾載入緩慢?
監控數據
在進入發現一個單獨的問題的時候,對理解多個性能問題會有所幫助。我們將會處理突然的的高負載,或者緩慢增加的負載,或者有可能是某一種特定情況下的負載情況(每天,每周,甚至每個月),這些請求的增加將會對系統性能造成多大的影響?對系統進行一些持續的監控將有助於你對系統的負載情況進行更多的了解。
下面是一些有關 confluence.atlassian.com 系統的負載情況,顯示如下
負載
這個圖片顯示了連續 2 天中的系統負載情況。這個圖片顯示了正常的系統負載,這個負載的產生通常是因為用戶的活動而產生的,這個沒有顯示出系統目前沒有遇到主要的問題。
增加數據庫連接的線程
有 2 個圖片將會顯示應用服務器中線程活動數量(第一個圖片)和數據庫中連接池的大小(第二個圖片)。你可以看到突然的系統線程增加將會導致數據庫服務器的連接的增加。
數據庫連接池的最高值已經超過了 112。這個已經超過了默認的數據庫的連接配置(100)。當這個情況出現時候,你在使用 Confluence 的時候出現一些訪問的緩慢就不奇怪了。一些用戶可能會遇到系統崩潰的信息,因為一些用戶的請求不能獲得數據庫連接。
我們可以通過這些圖片很容易的找到我們系統配置的一些問題。這些問題不是非常重要的問題,因為你可以通過簡單的增加數據庫連接來解決。
我們對 Confluence 進行一些持續的監控(我們使用 Hyperic),如果你在遇到問題的時候能夠同時發送你系統的一些監控信息,這個將更有助於幫我們找到你的問題。
訪問日誌
- How to Enable User Access Logging,包括有了如何將日誌導出為一個獨立文件的相關信息。
- 你可以將這些對這些文件進行分析,例如 AWStats,或者手動查看那些頁面在載入的時候存在載入緩慢。
屬性和日誌
- 啟用 Confluence 的自帶的屬性和性能分析,請參考頁面 Troubleshooting Slow Performance Using Page Request Profiling 中的內容。
- 如果只是一個單一的頁面相應緩慢,你應該對這個頁面進行一系列的請求
- 如果性能問題是間歇性的出現,或者只是直觀的感覺到了系統相應緩慢,你可以使性能監控功能保留監控 30 分鐘到一個小時來獲得更多有關的信息。
- 找到 Confluence 的標準輸出日誌(在日誌中將會保留上面的數據)。將整個日誌目錄進行壓縮。
- 在系統出現反應緩慢的時候進行 Take a thread dump。
CPU 負載
- 如果你遇到了 CPU 的負載率很高的話,請 install the YourKit profile 然後將 CPU 進行監控的時候附加上 2 個 profiler 的導出。如果 CPU 的查看足夠長的話,請間歇 30 到 60 秒進行 profiles。最通常的的 CPU spikes 應該是操作系統的虛擬機。
- 如果 CPU 的使用率高達 100%,請嘗試使用 Live Monitoring Using the JMX Interface,在一些情況下也可以使用 Top threads plugin。
站點指標和腳本
- 對你安裝實例了解用戶的訪問和使用也是非常重要的。請使用 Access Log Scripts 和 sql scripts 來為你的示例創建狀態情況。
下一步
在 https://support.atlassian.com 中打開問題提交請求,然後將你收集的所有數據添加到你需要的請求中。這個將會給我們對你系統進行診斷所需要的足夠信息,我們可以根據你提交的信息對你的系統性能進行診斷。當你創建完成問題後,請對你創建的問題進行跟蹤。
https://www.cwiki.us/display/CONF6ZH/Requesting+Performance+Support
Confluence 6 高級性能診斷