IBM Lotus Domino Server.Load V8 快速入門指南

genusBIT發表於2009-07-06

轉自:developerworks

作者:Daniel Dumouchel, 軟體工程師, IBM
Joseph Malek, 軟體開發人員, IBM
Jim Powers, 軟體工程師, IBM, Software Group

Lotus Server.Load 是基於 IBM Lotus Domino 特性的負載生成工具,可以使用它度量各種 Lotus Domino 伺服器容量和響應指標。通過執行工作負載(也稱為指令碼)生成負載,模擬 Lotus Domino 客戶機-伺服器操作的行為。工作負載讓使用者能夠使用一種通用工具對 Lotus Domino 或 IBM Lotus Sametime 伺服器施加一致的可重複的負載,這樣就可以評估各種作業系統、硬體和配置更改的效果。

有兩種工作負載:內建的和定製的。大多數內建工作負載模擬不同型別的郵件使用者活動。您可以修改內建工作負載,還可以根據需要編寫自己的工作負載。對 Lotus Server.Load 的概述請參見 developerWorks Lotus 文章 “Domino 效能調優簡介”。

如何獲得 Lotus Server.Load?

Lotus Server.Load 是 IBM Lotus Domino Administrator 客戶機的安裝選項。可以在安裝 Lotus Domino Administrator 客戶機的過程中選擇它。圖 1 顯示 Administrator 客戶機安裝過程中 Custom Setup 視窗中的 Server Load Utility 選項。


圖 1. Lotus Notes 客戶機安裝選項
Lotus Notes 客戶機安裝選項 

選擇了 Lotus Server.Load 之後,要做什麼?

如果選擇了 Server Load Utility 選項,安裝程式會在 Lotus Domino Administrator 的 Notes 目錄中放一個 sload.exe 檔案和一個 namagent.nsf 資料庫。sload.exe 程式在客戶機的可執行目錄中 (notes),資料庫 namagent.nsf 在客戶機的資料目錄中 (notes\data)。如果打算執行任何與 Lotus Sametime 相關的東西,那麼還要把 CstClientTest.java 和 stjavatk.jar 複製到可執行目錄中(sload.exe 所在的目錄)。執行啟用 Lotus Sametime 的工作負載需要這兩個檔案。

測試環境

應該使用以下環境進行測試:

  • Server Under Test (SUT)。這個測試系統執行 Lotus Domino,Lotus Server.Load 模擬的使用者連線其中的 Lotus Domino。需要把資料庫 (namagent.nsf) 中的代理複製到這個伺服器的 Domino 目錄。這些代理建立測試使用者 Person 文件、設定 ACL 值等等。
  • 客戶機/驅動程式。這些系統執行 Lotus Server.Load 和工作負載指令碼,模擬針對 SUT 的使用者活動。需要在這些系統上安裝 Lotus Notes 客戶機,因為 Lotus Server.Load 需要使用 Lotus Notes API。根據所需的使用者負載,可能需要多個客戶機。每個客戶機通常可以執行 512 到 1,500 個模擬使用者(取決於客戶機的硬體)。Lotus Server.Load 還可以用來把 Lotus Domino 伺服器統計資料收集到檔案中。使用一個單獨的客戶機執行伺服器統計資料收集指令碼(後面詳細討論)。客戶機機器不必都是管理客戶機。只要把所需的檔案複製到客戶機的可執行目錄(通常是 Notes 目錄),就可以使用標準的 Lotus Notes 客戶機。在執行 Lotus Server.Load 之前,Lotus Notes 客戶機需要連線到 SUT。我們建議在指向 SUT 的客戶機上設定測試使用者 ID 並建立 Location 文件。

圖 2 顯示 IBM Lotus Domino Designer 客戶機,其中已經開啟了 namagent.nsf 和 SUT 的 Domino Directory,下面要把代理從 .nsf 資料庫複製到目錄中。在右邊的皮膚中,選擇代理,把它們複製並貼上到 SUT 的 Domino Directory 中的相同資料夾 (Shared Code - Agents)。


圖 2. Lotus Server.Load 設定代理
Lotus Server.Load 設定代理

使用 Lotus Server.Load 設定代理

把代理複製到 SUT 的 Domino Directory 中之後,可以使用它們建立 Mail Person 文件。步驟如下:

  1. 在 Lotus Domino Designer 中,選擇 Actions - Other。
  2. Run Agent 對話方塊開啟,在其中選擇要執行的代理。選擇 “Create NotesBench Mail Person Documents” 代理建立 Person 文件。單擊 Run。
  3. 在 “Enter A Number 1-9 to Select Workload Setup” 對話方塊中,輸入 1 選擇 NRPC Mail。單擊 OK。
  4. 在 “Create NotesBench Mail Person Documents” 對話方塊中,在 “Starting Value to Create Mail Users” 框中輸入 1。單擊 OK。
  5. 接下來,在 “Number of Users to Create” 框中輸入 1000,從而在 Domino Directory 中新增使用者。可以新增任意數量的使用者,但是要記住,要想在工作負載中執行一個使用者,這個使用者就需要有相應的 Person 文件。單擊 OK。
  6. 接下來,在 “Number of Mailn.NSF Files to Use” 框中輸入與第 5 步中相同的數字。在這個示例中,輸入 1000。單擊 OK。
  7. 在 “Starting Mailn.NSF File” 框中輸入 1。一定要輸入與第 4 步中在 “Starting Value to Create Mail Users” 框中輸入的值相同的值。單擊 OK。
  8. 在 “Location for Mail Databases (relative to Notes Data directory, blank = root)” 框中輸入 mail\。單擊 OK。
  9. 在 “Mail Domain (example: notebnch)” 框中輸入您的伺服器的域作為 SUT 的域名。單擊 OK。
  10. 在 “Mail Server (example: sut1/notebnch)” 框中輸入 yourserver/yourdomain(您的伺服器的名稱和域)作為 SUT 的名稱和域。單擊 OK。
  11. 在 “Create Person Documents for NRPC Mail” 對話方塊中,在 “Internet Host Name” 框中輸入 SUT 的完全限定主機名,例如 yourserver.yourdomain.com。單擊 OK。
  12. 在 “Create NotesBench Mail Person Documents” 對話方塊中,在 “Message Storage Format” 框中輸入一個值。這個值取決於使用者採用的格式。對於 Notes 格式,選擇 0;對於沒有首選格式的情況,選擇 1;對於 Internet/Web 格式,選擇 2。在大多數情況下,要執行 N8Mail 工作負載,應該選擇 0。單擊 OK。
  13. 在 “Mail System” 框中輸入 1。單擊 OK。
  14. 在最後一個對話方塊中,在 “Click OK to run Create Notesbench Person Documents Agent with the following settings” 框中輸入 y。單擊 OK。

    如何使用 Lotus Server.Load?

    在 SUT 上配置環境之後,可以配置客戶端。工作負載在資料庫上執行,需要填充資料庫。接下來,決定哪個工作負載適合自己的需要。Lotus Server.Load 內建了許多工作負載。這些工作負載提供不同的使用者模型,代表一般使用者和使用者可能執行的操作的典型情況。但是,Lotus Server.Load 提供的工作負載可能無法完全滿足您的測試環境需求,所以 Lotus Server.Load 也可以輸入定製的工作負載。請參考 Lotus Domino Administrator 幫助 中關於 Lotus Server.Load 的部分,瞭解各個內建工作負載的詳細資訊。

    圖 3 顯示 Lotus Server.Load 中各個工作負載的下拉選單。

    .
    圖 3. Lotus Server.Load 工作負載
    Lotus Server.Load 工作負載 

    如何執行工作負載?

    我們先來執行一個內建的工作負載。執行 sload.exe 程式,這是在安裝 Lotus Domino Administrator 客戶機過程中選擇 Lotus Server.Load 選項時裝載的檔案之一。在預設情況下,Lotus Server.Load 選擇內建的工作負載型別。可以使用下拉框瀏覽工作負載,尋找希望執行的工作負載。

    正如前面提到的,需要在執行工作負載的伺服器 (SUT) 上建立和初始化郵件資料庫。為此,要執行工作負載的初始化步驟;完成之後,就可以執行實際的工作負載。初始化步驟適用於大多數工作負載。關於這個過程的詳細資訊可以在 Lotus Domino Administrator 文件中找到。

    如果提供的工作負載無法滿足您的需要,可以選擇 Custom 作為測試型別。Lotus Server.Load 有許多可供選擇的命令(參見文件),可以檢視內建的工作負載,複製這些命令集,根據需要編輯它們。這種方法可以快速簡便地建立自己的定製工作負載。在編寫自己的定製工作負載之後,可以把它儲存在自己的機器上,可以通過 Lotus Server.Load 中的選項開啟這個指令碼。可以通過單擊 Edit Script. 按鈕檢視指令碼,根據需要修改定製的指令碼。

    如圖 3 所示,還可以選擇 manual 作為測試型別。manual 模式用來執行各種工作負載命令。在選擇 manual 模式時,可以使用 Command-Line Screen 附籤輸入命令。這種模式有助於在完整地執行指令碼之前測試指令碼的各個部分。


    如何進一步定製自己的測試?

    圖 4 顯示工作負載型別區域下面的四個附籤。這些附籤用於進一步定製工作負載,每個附簽上都有許多可以編輯的設定。在第一個附籤 Test Parameters 上,可以編輯模擬使用者的數量和執行指令碼的次數。可以設定執行緒建立時間間隔(啟動每個使用者/執行緒時延遲的秒數)和初始執行緒數量。有時候,希望在某一時間段內執行指令碼;在 Lotus Server.Load 中,可以通過測試時間引數選項來設定執行時間。最後,可以使用姓名和地址簿構建收件人列表和把測試輸出到指定的檔案中。


    圖 4. Lotus Server.Load 對話方塊的定製附籤
    Lotus Server.Load 對話方塊的定製附籤

    有時候,指令碼可能會超時或響應時間太長。在 Stop Conditions 附籤(圖 5)中,可以定製停止條件。Lotus Server.Load 允許為這兩種情況手工設定上限。如果達到這個數字,測試立即停止併傳送輸出。


    圖 5. Lotus Server.Load 對話方塊的 Stop Conditions 附籤
    Lotus Server.Load 對話方塊的 Stop Conditions 附籤

    幾乎所有工作負載都依靠指令碼變數來驅動指令碼。第三個附籤 Script. Variables(圖 6)允許修改每個變數的值。(關於變數是什麼以及它們的推薦值的詳細資訊,請參見 Lotus Domino Administrator 幫助)。


    圖 6. Lotus Server.Load 對話方塊的 Script. Variables 附籤
    Lotus Server.Load 對話方塊的 .. Variables 附籤

    最後一個附籤 Command Line Screen 只用於 manual 模式。正如前面提到的,可以使用 manual 模式手工輸入指令碼可能使用的命令。

    按您喜歡的方式定製工作負載之後,就可以執行工作負載了。

    記錄哪些指標?

    在執行指令碼之前應該做的最後一件事是,決定測試應該記錄哪些指標?在單擊 Execute 按鈕之後,有機會選擇指標(見圖 7)。Lotus Server.Load 允許選擇指令碼指標以及一組有限的伺服器統計指標。它還每分鐘記錄一次執行緒統計資料。還可以為指標指定可選的儲存。


    圖 7. 指定指令碼指標和伺服器統計指標
    指定指令碼指標和伺服器統計指標

    現在可以執行工作負載了。輸出顯示在圖 8 所示的視窗中。Lotus Server.Load 記錄開始時間和結束時間,並在測試結束時通知您。


    圖 8. Output Monitor 視窗
    Output Monitor 視窗 

    示例:執行初始化指令碼

    這個示例建立 N8Mail 工作負載使用的郵件資料庫。圖 9 顯示選擇的使用者/執行緒數是 1;這建立一個資料庫 mail1.nsf。可以編寫 O/S 指令碼多次複製這個資料庫,檔名依次遞增 mail2.nsf、mail3.nsf 等等,資料庫的數量與建立的測試使用者數匹配。還可以在 “Number of Users/Threads” 框中輸入資料庫總數,讓 Lotus Server.Load 構建所有資料庫。


    圖 9. 建立郵件資料庫
    建立郵件資料庫 

    示例:執行工作負載

    這個示例給出對前面建立的郵件資料庫執行 N8Mail 工作負載所用的設定。它將執行 1,000 個模擬使用者,見圖 10。


    圖 10. 指定使用者數量
    指定使用者數量

    圖 11 顯示這個工作負載中使用的變數。這些變數大多數是預先裝載的。只需新增兩個變數:

    • nb-dbdir 的值。這是伺服器上 Lotus Domino 資料目錄中的子目錄,其中包含模擬使用者的郵件資料庫 —— 在這裡是郵件子目錄。
    • MailTemplate 變數。在這個示例中,希望使用伺服器 (SUT) Dolly 上的郵件模板。郵件模板的名稱是 mail8.ntf。伺服器名應該放在 !! 字元前面。因此,這個變數的值應該是 Dolly!!mail8.ntf。


    圖 11. 執行工作負載所用的變數
    執行工作負載所用的變數

    注意:客戶機應該交錯啟動,讓每個客戶機能夠在啟動下一個客戶機之前完全啟動。(但是,執行伺服器統計資料收集指令碼的客戶機例外;這個客戶機應該是第一個啟動的客戶機)。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-608436/,如需轉載,請註明出處,否則將追究法律責任。

相關文章