1. 程式人生 > >Confluence 6 高階效能診斷

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 頁面中的原始碼也同時提交
  • 這個頁面總是載入緩慢還是偶爾載入緩慢?

監控資料

在進入發現一個單獨的問題的時候,對理解多個性能問題會有所幫助。我們將會處理突然的的高負載,或者緩慢增加的負載,或者有可能是某一種特定情況下的負載情況(每天,每週,甚至每個月),這些請求的增加將會對系統性能造成多大的影響?對系統進行一些持續的監控將有助於你對系統的負載情況進行更多的瞭解。

負載 這個圖片顯示了連續 2 天中的系統負載情況。這個圖片顯示了正常的系統負載,這個負載的產生通常是因為使用者的活動而產生的,這個沒有顯示出系統目前沒有遇到主要的問題。

增加資料庫連線的執行緒

Java 活動執行緒數量

有 2 個圖片將會顯示應用伺服器中執行緒活動數量(第一個圖片)和資料庫中連線池的大小(第二個圖片)。你可以看到突然的系統執行緒增加將會導致資料庫伺服器的連線的增加。

資料庫連線池大小

資料庫連線池的最高值已經超過了 112。這個已經超過了預設的資料庫的連線配置(100)。當這個情況出現時候,你在使用 Confluence 的時候出現一些訪問的緩慢就不奇怪了。一些使用者可能會遇到系統崩潰的資訊,因為一些使用者的請求不能獲得資料庫連線。

我們可以通過這些圖片很容易的找到我們系統配置的一些問題。這些問題不是非常重要的問題,因為你可以通過簡單的增加資料庫連線來解決。

我們對 Confluence 進行一些持續的監控(我們使用 Hyperic),如果你在遇到問題的時候能夠同時傳送你係統的一些監控資訊,這個將更有助於幫我們找到你的問題。

訪問日誌

  • How to Enable User Access Logging,包括有了如何將日誌匯出為一個獨立檔案的相關資訊。
    • 你可以將這些對這些檔案進行分析,例如 AWStats,或者手動檢視那些頁面在載入的時候存在載入緩慢。

屬性和日誌

  • 啟用 Confluence 的自帶的屬性和效能分析,請參考頁面 Troubleshooting Slow Performance Using Page Request Profiling 中的內容。
    • 如果只是一個單一的頁面相應緩慢,你應該對這個頁面進行一系列的請求
    • 如果效能問題是間歇性的出現,或者只是直觀的感覺到了系統相應緩慢,你可以使效能監控功能保留監控 30 分鐘到一個小時來獲得更多有關的資訊。
  • 找到 Confluence 的標準輸出日誌(在日誌中將會保留上面的資料)。將整個日誌目錄進行壓縮。

CPU 負載

  • 如果你遇到了 CPU 的負載率很高的話,請 install the YourKit profile 然後將 CPU 進行監控的時候附加上 2 個 profiler 的匯出。如果 CPU 的檢視足夠長的話,請間歇 30 到 60 秒進行 profiles。最通常的的 CPU spikes 應該是作業系統的虛擬機器。

站點指標和指令碼

  • 對你安裝例項瞭解使用者的訪問和使用也是非常重要的。請使用 Access Log Scripts 和 sql scripts 來為你的示例建立狀態情況。

下一步

在 https://support.atlassian.com 中開啟問題提交請求,然後將你收集的所有資料新增到你需要的請求中。這個將會給我們對你係統進行診斷所需要的足夠資訊,我們可以根據你提交的資訊對你的系統性能進行診斷。當你建立完成問題後,請對你建立的問題進行跟蹤。