伺服器可用性索引

叢集中,每部伺服器都會根據伺服器近期所處理要求的回應時間,定期判定本身的工作量。工作量以 0 至 100 的數字表示,其中 0 表示伺服器的負荷重,100 則表示伺服器的負荷輕。這個數字稱為伺服器的可用性索引。

執行這項作業的原因和時機

隨著回應時間增加,伺服器的可用性索引就會降低。

伺服器的可用性索引約略等於仍然可用的總伺服器容量百分比。例如,若伺服器的可用性索引是 65,則伺服器還有大約 65% 的容量可用。雖然可能您企業中的伺服器的能力及資源各不相等,但每部伺服器的可用性索引都代表同一件事,那就是該伺服器仍然可用的可用性總數。

伺服器可用性索引是根據擴充因數而定,它可指出目前伺服器上的工作量。擴充因數是藉由將特定類型之交易的近期回應時間,以及伺服器曾完成相同類型之交易的最小時間互相比較來決定的。例如,如果伺服器目前執行「資料庫開啟」交易的平均時間是 12 毫秒,但伺服器執行「資料庫開啟」交易的最短時間只有 3 毫秒,則「資料庫開啟」交易的擴充因數就是 4(目前執行時間 12 毫秒除以最快時間 3 毫秒)。換言之,由擴充因數來判定,目前一次交易所花的時間,比最佳狀況下多出幾倍。

Domino® 會將每種交易類型的最短時間儲存在記憶體及 LOADMON.NCF 檔案中,每當伺服器啟動時,即會從中讀取。當伺服器關閉時,Domino® 會以最新資訊更新 LOADMON.NCF 檔案。

若要判定現行的擴充因數,Domino® 會追蹤指定的時段內最常用的 Domino® 交易類型。Domino® 依預設會追蹤這些交易 5 段期間,每時段 15 秒,Domino® 會判定其完成每種交易類型所花費的平均時間,再將該時間除以它完成相同交易類型所花費的最短時間。如此便決定出各種交易類型的擴充因數。若要判定整部伺服器的擴充因數,Domino® 會將所有交易類型的擴充因數加以平均,同時對最常使用的交易類型賦予較重的加權。

隨著伺服器越忙碌,新增更多負荷對於效能及可用性而言,影響會越大。因此,對忙碌的伺服器新增更多負荷,比對較不忙碌的伺服器新增更多負荷,擴充因數會提高得更快。

因為伺服器在速度、容量及功能上的不同,所以伺服器所能夠處理的工作量也不一樣。因此,在兩部不同伺服器上的相同擴充因數,並不完全代表與伺服器功能相關的相同工作量。例如,在執行交易時需要很長的時間而此外的時間都是閒置的小型伺服器上,40 的擴充因數可能表示使用者須要花一段時間來等待回應。然後,在非常大且快速的伺服器上,400 的擴充因數可能表示使用者等待回應的時間不到一秒鐘。

可用性索引與擴充因數之間如何比較

執行這項作業的原因和時機

若要判定可用性索引,Domino® 會使用公式,將擴充因數轉換為仍然可用的伺服器容量總計百分比的近似值。下表顯示擴充因數換算成為可用性索引的幾個範例。

註: 表格中的值是根據 64 的擴充因數(指出滿載的伺服器)。
1. 根據 64 的擴充因數的範例

擴充因數

可用性索引

1<nozeros>

100<nozeros>

2<nozeros>

83<nozeros>

4<nozeros>

67<nozeros>

8<nozeros>

50<nozeros>

16<nozeros>

33<nozeros>

32<nozeros>

17<nozeros>

64<nozeros>

0<nozeros>

註: 擴充因數及可用性索引僅測量伺服器的回應時間,這通常只是用戶端所感受之回應時間的一小部分。例如,用戶端與伺服器之間的網路回應時間,往往佔有用戶端所感受之回應時間的重要份量。

變更指出滿載伺服器的擴充因數值

執行這項作業的原因和時機

若要有效地使用 Domino® 工作量平衡功能,您必須調整擴充因數及可用性索引之間的關係,如此一來,當伺服器達到您想要它們進行失效接手的工作量時,即會進行失效接手。您可藉由指定您想要用來代表滿載伺服器的擴充因數值來執行此動作。Domino® 中的預設值為 64。當擴充因數達到該值時,就會將伺服器視為滿載,因此可用性索引會降到 0(零)。

註: 您可以使用 Show AI 伺服器指令,以檢視所建議的可用的索引設定。

如果您的伺服器功能特別強大且快速,則可能想要增加視為滿載的擴充因數值。在某些非常快速的伺服器上,您可能想要將此值設為好幾百或是更高。如果您的伺服器特別的慢,則可能會想要降低此值。

若要變更您用來代表滿載伺服器的擴充因數值,請將下列設定新增至 NOTES.INI 檔案中,然後重新啟動伺服器。

SERVER_TRANSINFO_RANGE=n 

對於 n值,請選擇一個數字使 2 的 n 次方等於您想要指出滿載伺服器的擴充因數值。n 的預設值為 6,這會將擴充因數值設為 64,因為 2 的 6 次方為 64。如果您將 SERVER_TRANSINFO_RANGE 設為 7,則指出滿載伺服器的擴充因數值會變成 128。如果您將 SERVER_TRANSINFO_RANGE 設為 8,該值會變成 256。

若要判定 SERVER_TRANSINFO_RANGE 的最佳值,請執行下列動作:

程序

  1. 於大量使用期間,監視您伺服器上的擴充因素。您可以使用 show stat 伺服器.expansionfactor主控台指令來執行此作業。您也可以在這些期間,監視效能統計資料。於大量使用期間記錄足夠的擴充因數值,如此可讓您判定想要用以指出滿載伺服器的擴充因數值。
  2. 判定 SERVER_TRANSINFO_RANGE 的值,使 2 的該值次方產生您在步驟 1 選擇的擴充因數值。

結果

當您變更指出滿載伺服器的擴充因數值時,擴充因數及可用性索引之間的關係即就會變更。下表顯示當 SERVER_TRANSINFO_RANGE 的值為 8 時,擴充因數轉換為可用性索引的一些範例。在此範例中,擴充因數上限為 256,因為 2 的 8 次方為 256。

2. 擴充因數轉換為可用性索引的範例

擴充因數

可用性索引

1<nozeros>

100<nozeros>

2<nozeros>

88<非零>

4<nozeros>

75<非零>

8<nozeros>

63<非零>

16<nozeros>

50<nozeros>

32<nozeros>

38<非零>

64<nozeros>

25<非零>

128<非零>

13<nozeros>

256<非零>

0<nozeros>

伺服器主控台指令 Show AI 可用於取得此變數的適當值。在伺服器執行一陣子低負荷之後輸入此指令,可顯示伺服器的擴充因數和 AI 的歷程。

變更運算擴充因數所用的資料量

執行這項作業的原因和時機

雖然通常並不需要這麼做,不過您可以使用下列 NOTES.INI 設定,來變更 Domino® 為了計算擴充因數而收集的資料量。

  • 若要變更 Domino® 使用的資料收集時段數量,請使用 NOTES.INI 設定 Server_Transinfo_Max=x,其中 x 是您要 Domino® 使用的收集時段數量。
  • 若要變更每個資料收集時段的長度,請使用 NOTES.INI 設定 Server_Transinfo_Update_Interval=x,其中 x 是每個時段的長度(以秒為單位)。