Sun Identity Manager 8.1 版本說明

第 7 章 文件增訂與校正

本節包含 Identity Manager 8.1 文件集發佈後所需的新資訊與更正資訊。

相關資訊編排如下:

Identity Manager 8.1 Business Administrator's Guide

本節包含適用於「Sun Identity Manager 8.1 Business Administrator’s Guide」的新資訊與文件校正:

下列資訊應加入「安全性」一章:

Identity Manager 8.1 System Administrator's Guide

本節提供適用於「Sun Identity Manager 8.1 System Administrator’s Guide」的新資訊與文件校正。

此資訊包含以下內容:

舊的套裝軟體名稱 

新的套裝軟體名稱 

com.waveset.adapter.ADSyncFailoverTask 

com.waveset.task.ADSyncFailoverTask 

com.waveset.adapter.ADSyncRecoveryCollectorTask 

com.waveset.task.ADSyncRecoveryCollectorTask 

com.waveset.adapter.SARunner 

com.waveset.task.SARunner 

com.waveset.adapter.SourceAdapterTask 

com.waveset.task.SourceAdapterTask 

Identity Manager 8.1 Deployment Guide

本節包含適用於「Sun Identity Manager Deployment Guide」的新資訊與文件校正。

系統配置物件文件變更

系統配置物件的說明應包含有關這些屬性的下列資訊:

ProvisioningDisabledUserShouldThrow – 設為 true 時,即禁止嘗試將已停用的使用者佈建至資源,並會產生錯誤。若該屬性未設為 true,則仍會禁止佈建,但不會產生錯誤。(ID-20064)

security.delegation.historyLength – 控制要記錄的先前委託之數目。(ID-13331)

runPasswordLoginOnSuccess – 設為 true 時,Identity Manager 會在使用者回答認證問題並成功登入時,執行密碼登入工作流程。此特性的預設值為 false。(ID-10030)

PasswordSyncThreshold - 如果為資源啟用了 Password Sync,並且 Identity Manager 也可為此資源啟動密碼變更,即可使用此設定來協助防止迴路密碼變更。(ID-7887) 當您從 Identity Manager 啟動密碼變更時,將會對資源設定密碼,且 PasswordSync 程式庫會通知 Identity Manager 有此變更。然後 Identity Manager 會將使用者物件上的 lastPasswordDate 與目前時間比較。如果此差異小於 PasswordSyncThreshold,Identity Manager 將忽略密碼變更。如此一來,即可適當地忽略多餘或不必要的密碼變更。

PasswordSyncResourceExcludeList – 列出同步化時應一律排除的資源名稱。(ID-3275)

process.handleNativeChangeToAccountAttributes – 設為 true 時,即會啟用屬性值稽核。此特性預設為關閉。(注意:這會同時啟用調解程序與佈建程式的屬性值稽核。)(ID-3275)

sources.subject – 指定管理員 (此管理員被指定為來源配接卡作業的所有者) 的登入名稱。(ID-19694)

sources.host – 指定執行來源配接卡作業的伺服器。

security.saveNoValidateAllowedFormsAndWorkflows – 列出會當作 SaveNoValidate 動作來處理的表單與工作流程的 ID。而系統會將其他所有表單與工作流程當作 Save 來處理。如果沒有此清單,所有表單與工作流程會保持相同的運作方式 (亦即將所有表單與工作流程當作 SaveNoValidate 來處理)。(ID-19474)

資料匯出程式變更

資料匯出程式可以定期將 Identity Manager 管理的或已處理的資料匯出至一組 DBMS 表格,以供進一步處理。匯出程序特意允許自訂作業,其中一些自訂作業可能需要手動介入才能正常運作。與資料匯出程式相關的 Identity Manager 配置物件會適當地得到保留與更新。但是,匯出程式的某些自訂是在 Web 應用程式檔案中完成,這些自訂需要特殊處理。

在升級程序期間,Identity Manager 會在 $WSHOME$WSHOME/exporter 目錄中,覆寫所有未修改的資料匯出程式檔案。如果已變更任何資料匯出程式檔案,則升級程序會留下修改後的版本,並在 $WSHOME/patches/Identity_Manager_8_1_0_0_ Date/filesNotInstalled 中安裝新版檔案。若要使新功能與自訂部分合併,您必須手動執行此作業。

請注意,$WSHOME 中的下列檔案通常會有自訂內容:

model-export.dtd
model-export.xml
model-export.xsl
exporter/exporter.jar
exporter/create_warehouse.*
exporter/drop_warehouse.*
exporter/hbm/*.hbm.xml

您必須執行的升級步驟會有所不同,視您是否在 8.0 中已自訂資料匯出程式以及您在 8.1 中針對資料匯出程式所作的規劃而定。

安裝 8.1 之後,如果 8.1 版的 model-export.xml 已就位,只要檢視 http://server: port/idm/model-export.xml 中的模式檔案就能看到新的資料類型與屬性。新的類型與屬性會具有 8.1 發行版本編號旗標。

Identity Manager 8.1 Deployment Reference

本節包含適用於「Sun Identity Manager Deployment Reference」的新資訊與文件校正。

表單相關文件問題

本章缺少以下有關將密碼確認詰問增加至表單的說明:(ID-7604)

您可以使用 RequiresChallenge 表單特性,將密碼確認詰問增加至選取的表單。啟用此功能時,Identity Manager 會在處理請求之前,先詰問目前登入的管理員讓其提供密碼。支援此選項的表單包括:

userForm (標籤式使用者表單、精靈使用者表單、預設使用者表單)

changePassword (預設值為變更使用者密碼表單)

resetPassword (預設值為重設使用者密碼表單)

每一個表單的指定特性都不相同。

設定使用者表單的 RequiresChallenge 特性

若要將密碼確認詰問增加至使用者表單,請如下所示增加下列 RequiredElement 元素,並替換 password、email 及 fullname:


<Property name='RequiredChallenge'>
    <List>
      <String>password</String>
      <String>email</String>
      <String>fullname</String>
    </List>
</Property>

此特性的值是一個清單,其中包含一個以上的下列使用者檢視屬性名稱:applications、adminRoles、assignedLhPolicy、capabilities、controlledOrganizations、email、firstname、fullname、lastname、organization、password、resources、roles。

設定變更密碼表單與重設密碼表單的 RequiresChallenge 特性

若要將密碼確認詰問增加至 changePassword 或 resetPassword 表單,請如下所示增加下列 <RequiresChallenge> 元素,其中的 password、email 及 fullname 需用適當的值替代:

<Property name='RequiresChallenge' value='true'/>

其中,特性的值可以是「true」或「false」。

如果在表單中將此特性設為「true」,Identity Manager 會詰問目前請求變更的管理員,要求該管理員輸入他用於登入 Lighthouse 的密碼。如果詰問失敗 (亦即未輸入目前管理員的密碼),則 Identity Manager 不會允許變更。如果詰問成功,Identity Manager 會允許繼續進行變更請求。這兩種密碼管理表單皆支援使用 RequiresChallenge 表單特性。此特性設為 true 時,系統會提示使用者在指定新密碼之後輸入舊密碼。

覆寫版本資訊

您可以建立兩個自訂訊息目錄鍵值,以便在使用者將游標移至 [說明] 按鈕上方時,防止 Identity Manager 顯示版本資訊。UI_END_USER_VERSION 鍵值隱藏一般使用者介面上的版本資訊,而管理員介面則使用 UI_VERSION 鍵值。

將鍵值設為空字串可防止顯示任何版本資訊。

下列範例會同時停用兩個介面上的版本資訊。

<Waveset>
   <Configuration name="sampleCustomCatalog">
      <Extension>
         <CustomCatalog id="defaultCustomCatalog" enabled="true">
            <MessageSet language="en" country="US">
               <Msg id="UI_END_USER_VERSION"></Msg>
               <Msg id="UI_VERSION"></Msg>
            </MessageSet>
         </CustomCatalog>
      </Extension>
   </Configuration>
</Waveset>

其他表單相關問題

「表單」一章缺少以下說明:(ID-18869)

變更密碼表單預設有兩個實作:

「一般使用者變更密碼表單」是預設的密碼變更表單。該表單提供一組簡單的欄位,使用者可透過這些欄位變更其密碼。系統會針對指定給使用者的所有資源,對其密碼策略進行彙總與製作摘要,然後 Identity Manager 將密碼變更套用至所有指定的資源。

管理員介面與使用者介面中皆有「基本變更密碼表單」。該表單針對已指定給使用者的資源提供相關資訊,並讓使用者個別選取要由 Identity Manager 變更哪些資源的密碼。

這兩種密碼管理表單皆支援使用 RequiresChallenge 表單特性。此特性設為 true 時,系統會提示使用者在指定新密碼之後輸入舊密碼。

工作流程與表單的常見問題

本指南的「表單」與「工作流程」章節缺少以下有關指定 <Variable> 元素範圍的說明:(ID-14915)

Identity Manager 會在宣告元素時,為所有 <Variable> 元素指定一個範圍。如果您未指定範圍屬性值,則 Identity Manager 會將其指定為區域 (local) 值,表示只有在宣告該變數的 XPRESS 區段內才可對其進行存取。

用來定義範圍的其他變數屬性包括:

input -- 宣告 <Variable> 元素具有區域範圍 (Local Scope),且呼叫者可初始化該值。

output -- 宣告 <Variable> 元素具有區域範圍,但可傳回給呼叫者。

external -- 宣告 <Variable> 具有非區域範圍,亦即對此變數的指定,會導致在第一次宣告此變數的範圍中也指定此變數。

本章缺少以下有關 Identity Manager 安全清單功能的說明。(ID-19474)

Identity Manager 安全清單功能可對照 ID 或表單名稱清單,對使用 SaveNoValidate 動作的表單與工作流程進行檢查。Identity Manager 會在安全清單中檢查表單名稱或表單所有者 ID。ID 清單 (稱為 saveNoValidateAllowedFormsAndWorkflows) 位於系統配置物件的安全性屬性中。如果表單名稱或所有者 ID 位於安全清單上,該表單或工作流程即可使用 SaveNoValidate 動作。如果表單名稱或所有者 ID 不在清單上,則會使用 Save 動作處理該表單或工作流程。如果沒有此清單,所有表單與工作流程皆會當作 SaveNoValidate 來處理。

若要在您的部署中實作此功能,您必須將所有使用 SaveNoValidate 的表單或工作流程增加至系統配置物件中的 saveNoValidateAllowedFormsAndWorkflows 清單。若要查看您必須增加的 ID 或表單名稱,請檢查 syslog 或開啟 com.waveset.ui.util.GenericEditForm 的追蹤層級 4,然後提交任何使用 SaveNoValidate 的自訂表單或工作流程。隨即會記錄內含此 ID 的一則警告。如果您在 syslog 中取得的表單名稱為空 (null),請確認在已執行的 TaskDefinition 中的表單具有名稱屬性。

工作流程相關的問題

「工作流程」一章缺少以下有關 handleNativeChangeToAccountAttributes 工作流程的說明 (ID-3275):

每當 Identity Manager 偵測到資源帳號可稽核的屬性值有本機變更 (亦即非透過 Identity Manager 執行的變更),即會執行與如下系統配置物件屬性相關的 handleNativeChangeToAccountAttributes 工作流程來回應:

<Attribute name='process'>
  <Object>
    <Attribute name='handleNativeChangeToAccountAttributes' value='Audit Native
      Change To Account Attributes'/>
  </Object>
</Attribute>

如果您已啟用 [Lighthouse 之外的變更] 稽核篩選器,此工作流程會將本機變更事件記錄到事件記錄檔。否則,Identity Manager 會忽略此類事件。警告:無論用任何工作流程替代以上所列的預設工作流程,請務必謹慎選擇您要從該工作流程中呼叫的方法。

每當資源帳號擷取發現有本機變更時,Identity Manager 都會啟動此工作流程,因此不得呼叫任何會觸發同一資源帳號再次進行擷取的方法或工作流程。例如,如果您呼叫以下任何 WorkflowServices 方法以組成使用者檢視,則會產生無窮迴圈:getView(User) 與 checkoutView(User),可能還包括 checkinView(User)。

由於 Identity Manager 會執行工作流程以處理每項本機變更,因此您可攔截本機變更事件,並視情況處理該本機變更,亦即替代預設的本機變更工作流程或增加工作流程。例如,您可以選擇將電子郵件傳送至管理員或使用者、在資料庫中記錄事件、將取消本機變更的更新排入佇列,或者,您甚至可以提取該本機變更,並將其應用於其他資源。

本指南的「工作流程」一章缺少以下有關如何指定來源配接卡作業之主體或管理員的說明。(ID-19694)

您可以編輯下列系統配置物件的屬性,為來源配接卡作業指定主體或管理員,並指定執行該作業的伺服器。source.subject 指定管理員 (此管理員被指定為該作業的所有者) 的登入名稱。sources.host 指定執行作業的伺服器。配置物件中的新值預設如下:

<Attribute name='sources'>
           <Object>
             <Attribute name='hosts'/> <!-- any host is the default -->
           <Attribute name='subject' value='Configurator'/>
         </Object>
         </Attribute>

Identity Manager 8.1 Resource Reference

本節包含適用於「Sun Identity Manager 8.1 Resources Reference」的新資訊與文件校正。

Identity 連接器說明缺少以下 ConnectorAdapter 如何實作 run() 方法的資訊:系統會將傳遞至 runResourceAction 服務的引數視為直接程序檔變數,以傳遞至 ResourceAction 中定義的程序檔。(ID-19856)

Identity Manager 8.1 Service Provider Deployment Guide

本節包含適用於「Sun Identity Manager Service Provider 8.1 Deployment」的新資訊與文件校正。

開發用戶配接卡

ResourceAttribute 元素可以包含 ValidationPolicy 元素。驗證策略可確保使用者在 [資源參數] 頁面上指定的值,滿足在其他個別策略物件中定義的需求。

下列範例可讓配接卡使用連接埠策略,以確保指定的值有效。預設的連接埠策略會檢查值是否為 1 到 65536 之間的整數。

<ResourceAttribute name=.Port. value=.123.>
   <ValidationPolicy>
      <ObjectRef type=.Policy. id=.#ID#PortPolicy. name=.Port Policy./>
   </ValidationPolicy>
</ResourceAttribute>

Identity Manager IDE 相關常見問題 (FAQ)

此 FAQ 回答了有關使用 Identity Manager IDE 的一些常見問題。

此資訊已分類如下:

使用 NetBeans

問題:

我應該使用哪個 Netbeans 版本?

答案:

請根據您所使用 Netbeans 外掛程式版本隨附的 Identity Manager 產品文件,使用其中記載之 Netbeans 版本。


備註 –

即使是修補程式版本也可能造成主要功能損毀,因此請一律使用記載的正確版本。


問題:

我在使用 Netbeans 外掛程式時執行了某項作業,結果現在不能用了。這是什麼原因呢?

答案:

此問題通常是由於 .netbeans 目錄中的檔案損毀所造成。一般來說,刪除 .netbeans 目錄並重新安裝 NetBeans 外掛程式可解決此問題。(刪除 .netbeans 目錄即可解除安裝 NetBeans 外掛程式。您會喪失所有使用者設定,但會保留專案的內容。)

    這些步驟如下所示:

  1. 關閉 NetBeans。

  2. 刪除 .netbeans 目錄。

  3. 啟動 NetBeans。

  4. 安裝 NetBeans 外掛程式。

  5. 重新啟動 NetBeans。

使用專案

問題:

建置並執行專案需要很長的時間,且 Identity Manager IDE 似乎會複製許多檔案。這是什麼原因呢?

答案:

發生此問題的原因可能如下:

問題:

現在已經建立 Identity Manager 專案,我該將哪些檔案簽入來源控制?

答案:

如需相關資訊,請參閱 Identity Manager IDE README.txt 中的「CVS Best Practices」一節。

問題:

在 CVS 中使用專案管理的最佳實作為何?

答案:

如需相關資訊,請參閱 Identity Manager IDE README.txt 中的「CVS Best Practices」一節。

問題:

物件何時匯入儲存庫?

答案:

如需相關資訊,請參閱使用儲存庫

問題:

我該如何新增 JAR 到專案?

答案:

請參閱 Identity Manager IDE README.txt 中的「How to add a new JAR dependency」一節。

使用儲存庫

問題:

我的 sandbox 儲存庫應使用哪個儲存庫?

答案:

使用 sandbox 的內嵌式儲存庫。使用 Identity Manager 7.1 (或較新版本) 時尤其如此,而此版本提供 HsSQL 儲存庫。如果未使用內嵌式儲存庫,則會失去功能。

如需更多資訊,請參閱 Identity Manager IDE README.txt 檔案中的「Working with the Repository」一節。

問題:

物件何時會自動匯入?

答案:

您必須將 Identity Manager IDE 配置為自動匯入物件。

這些步驟如下所示:

  1. 從 [IDM] 功能表選取 [儲存庫] > [管理內嵌式儲存庫]。

  2. 啟用 [管理內嵌式儲存庫] 對話方塊上的 [自動發佈 Identity Manager 物件] 選項。


    備註 –

    Identity Manager 專案 (遠端) 不會提供此選項,或者如果您指定自己的儲存庫,亦不會提供此選項。


  3. 選取 [專案] > [執行專案] 或 [專案] > [除錯專案]。

    Identity Manager IDE 會自動匯入自從上次執行專案後,已變更的所有物件。


    提示 –

    自動發佈 Identity Manager 物件會增加啟動伺服器所需的時間。若要將伺服器啟動時間降至最低,請停用此選項,並明確地將物件上傳至儲存庫。


問題:

上傳物件最有效的方式為何?

答案:

使用下列其中一個方法上傳已修改的物件:

這兩種方法皆會將物件直接上傳至伺服器,因此沒有快取延遲的問題,且比使用 [執行專案] 或 [除錯專案] 還要快。不論使用哪個儲存庫,皆會提供 [上傳物件] 功能。

使用 Identity Manager IDE 除錯程式


備註 –

在您每次執行下列任何一項專案作業時,Netbeans 內嵌式應用程式伺服器會自動關機:


問題:

Identity Manager IDE 除錯程式很慢。這是什麼原因呢?

答案:

若要改善除錯程式的效能:

問題:

我無法設定除錯程式的中斷點。這是什麼原因呢?

答案:

下列情況可能導致無法設定中斷點:

問題:

我設定了除錯程式的中斷點,但除錯程式到中斷點時並未暫停。這是什麼原因呢?

答案:

請檢查下列兩項:

使用規則

問題:

在 Netbeans 中開發規則時,為何規則程式庫無法使用設計模式?

答案:

設計模式功能可從 [專案] 檢視的檔案總管樹狀結構中取得。請使用下列步驟:

  1. 展開程式庫節點並在規則上按一下滑鼠右鍵。

  2. 請在顯示快顯功能表時選取 [特性],然後按一下 [內文]。

本土化範圍

過去,Identity Manager 不會本土化資源物件與功能,主要是因為這些資源物件與功能大部分是 Identity Manager 初始化期間載入 (透過 init.xml) 的範例,且物件類型的屬性會因自訂層級不同而在實際的用戶部署中有所差異。以下清單列出使用者可能會見到英文的範圍:(ID-16349)

使用 Identity Manager 效能評測器

Identity Manager 提供效能評測器公用程式,協助您對部署中與表單、Java、規則、工作流程與 XPRESS 相關的效能問題進行疑難排解。

表單、Java、規則、工作流程與 XPRESS 皆可能導致效能與範圍問題。效能評測器會評測不同區域所耗用的時間,可讓您決定這些表單、Java、規則、工作流程或 XPRESS 物件是否造成效能與範圍問題,以及倘若如此,是這些物件的哪些部分導致問題。

本節說明如何使用 Identity Manager 效能評測器,並提供指導以協助您瞭解如何對部署中的效能問題進行疑難排解。

此資訊分為以下主題:


備註 –

僅 7.1 Update 1 版及較新版本支援 Identity Manager 效能評測器。


概況

本節提供 Identity Manager 效能評測器的特性與功能簡介。相關資訊編排如下:

主要功能

您可以使用效能評測器公用程式執行以下作業:

效能評測器查找及管理來源的方式

本節說明效能評測器如何查找及管理下列 Identity Manager 物件的來源:


提示 –

在 [呼叫樹狀結構檢視] 或 [Hotspots 檢視] 中,您可以連按兩下對應 Java 方法、工作流程、表單、規則或 XPRESS 的任何節點,以檢視此節點的來源。


表單、規則、工作流程與 XPRESS 物件

當您使用效能評測器拍攝快照時,伺服器會計算所有效能評測資料並搜尋資料依賴的來源。伺服器接著會從儲存庫擷取所有這些來源,並將其納入快照中。因此,您可以確定快照中所顯示的 Identity Manager 物件,能確實反映擷取快照當時的狀況。

此程序會增加快照的大小,但來源大小實際上只佔總大小的一小部分。因此,您可以將快照傳送給 Sun 的客戶支援部門,而不用另外傳送原始碼檔案。

Java 來源

當您拍攝 Java 來源的快照時,用戶端會下載快照,然後搜尋快照以從專案擷取所有參照的 Java 來源。當您儲存快照時,用戶端會壓縮來源並將其附加在快照結尾。

然後,當您檢視快照並移至 Java 來源時,用戶端會先檢查快照內容。如果用戶端在此找不到內容,則會檢查專案的內容。此程序可讓您從自訂 Java 程式碼與 Identity Manager 程式碼傳送包含效能評測資料的快照。


備註 –

在 Java 來源快照中,請勿以為來源會隨伺服器更新或一直可以使用。


統計注意事項

以下各節包含計算效能評測器提供結果時所要考量的資訊:

Self Time 統計

若要計算根節點的 Self Time 統計,效能評測器會從根節點的總計時間扣除所有子節點的時間。

因此,未執行的子節點時間會反映在根節點的 Self Time 中。如果根節點有很長的 Self Time,則必須找出原因。您可能尚未執行適當的方法,因此檢查的地方有誤。

例如,假設方法 A 呼叫方法 B。

方法 A 總計需要 10 秒 (其中總計時間包含呼叫 B),而呼叫 B 總計需要 10 秒。

如果 A 與 B 皆已執行,則呼叫堆疊會反映此資訊。您會看到 A 的 Self Time 為 0 秒,而 B 的 Self Time 為 10 秒 (其中 10 秒是實際用在 B 中的時間)。但是,如果未執行 B,您僅會看到呼叫 A 需要 10 秒,因此 A 的 Self Time 為 10 秒。因此,您可能會以為問題是在 A,而不是在 B。

您尤其會在 JSP 初始編譯期間注意到 JSP 有很長的 Self Time。如果重設收集的結果,然後重新顯示頁面,則 Self Time 值會少得多。

建構子呼叫

由於 Java 方法策略的限制,對 this()super() 的初始呼叫會顯示為建構子呼叫的同層呼叫,而非子項呼叫。請參閱下列範例:


class A
{
   public A()
   {
      this(0);
   }
   public A(int i)
   {
   }
}

and:

class B
{
   public static void test()
   {
      new A();
   }
}
The call tree will look like this:
B.test()
   -A.<init>(int)
   -A.<init>()
Rather than this:
B.test()
   -A.<init>()
      -A.<init>(int)

常駐程式執行緒

多數 Identity Manager 的常駐程式執行緒 (例如 ReconTask.WorkerThread.run()TaskThread.WorkerThread.run()) 所耗用的時間看似很久,但請勿被此誤導。大部分的時間是耗用在等候事件時的暫停上。您必須研究這些追蹤才能知道處理事件實際耗用的時間。

入門

本節說明如何啟動效能評測器,以及如何使用效能評測器圖形化使用者介面的各項功能。相關資訊編排如下:

開始之前

由於效能評測器會耗用大量的記憶體,應大量增加伺服器與 Netbeans Java Virtual Machine (JVM) 的記憶體。

    若要增加伺服器的記憶體:

  1. 開啟 Netbeans 視窗並選取 [執行階段] 標籤。

  2. 展開 [伺服器] 節點,在 [隨附的 Tomcat] 上按一下滑鼠右鍵,然後從功能表中選取 [特性]。

  3. 請在顯示 [伺服器管理員] 對話方塊時,清除 [連線] 標籤上的 [啟用 HTTP 監視] 方塊。

  4. 選取 [平台] 標籤,將 [VM 選項] 設定為 -Xmx1024M,然後按一下 [關閉]。

    若要增加 Netbeans JVM 的記憶體:

  1. 開啟 netbeans-installation-dir \etc\netbeans.conff 檔案並找出下行:

    netbeans_default_options="-J-Xms32m -J-Xmx ...

  2. -J-Xmx 值變更為 -J-Xmx 1024M

  3. 儲存然後關閉檔案。

完成之後,可如下節所述啟動效能評測器。

啟動效能評測器

您可以使用下列任一方法從 Identity Manager IDE 視窗啟動效能評測器:


備註 –

當 Identity Manager 的主專案為 7.1 Update 1 版或較新版本時,會啟用 [在主專案上啟動 Identity Manager 效能評測器] 圖示。


當您啟動效能評測器時,會顯示 [效能評測器選項] 對話方塊,您可以在此指定要使用的效能評測選項。指定效能評測器選項提供設定這些選項的說明。

使用效能評測器

本節描述效能評測器圖形化使用者介面的功能,以及如何使用這些功能。相關資訊編排如下:

指定效能評測器選項

[效能評測器選項] 對話方塊包含下列標籤:

使用這些標籤上的選項以指出要評測效能的物件及設定檔中要顯示的元素。

指定效能評測器選項之後,請按一下 [確定] 以啟動效能評測器。效能評測器可根據專案配置執行下列兩項作業其中之一:


備註 –

您可以選取 [IDM] -> [設定 Identity Manager 實例],以控制此專案的 Identity Manager 實例動作。


模式

[模式] 標籤提供下列選項:

IDM 物件篩選器

[IDM 物件篩選器] 標籤提供下列選項:

Java 篩選器

選取 [Java 篩選器] 標籤可執行下列作業:

Java 篩選器會依方法式樣提供,並以包含或排除的式樣來表示 (根據標準方法名稱)。其中標準方法名稱為:

fully-qualified-class-name.method-name( parameter-type-1, parameter-type-2, ... )


備註 –

若是建構子,則 method-name<init>


下列是一些範例:


備註 –

由於篩選器僅會套用至自訂類別與 Identity Manager 類別,因此最後兩個範例目前是等同的。


請視需要適當修改 build.xml 中的下列各行,以執行其他 JAR。例如,


<instrument todir="${lighthouse-dir-profiler}/WEB-INF" 
verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" 
excludeMethods="${profiler.excludes}">
           <fileset dir="${lighthouse-dir}/WEB-INF">
               <include name="lib/idm*.jar"/>
               <include name="classes/**/*.class"/>
           </fileset>
</instrument>

依預設,配置會包含所有自訂類別與大部分的 Identity Manager 類別。由於某些 Identity Manager 類別在啟用後會中斷效能評測器,因此會強制排除這些類別。

例如,會排除來源為工作流程、表單與 XPRESS 引擎的類別,否則效能評測器在評測 Java 與 Identity Manager 物件的效能時會產生無法辨識的快照。

請注意,Java 篩選器會提供比 IDM 物件篩選器更仔細的篩選。Java 方法會使執行作業增加大量的經常性耗用時間,從而嚴重影響效能評測結果。由於是對 Identity Manager 物件進行解譯而不是編譯,因此可忽略執行此方法所耗用的時間。因此,基本上排除工作流程 A 而包含工作流程 B 是不必要的,依此類推。


備註 –

您無法在執行效能評測器時修改 Java 篩選器。您必須停止效能評測器,才能變更 Java 篩選器。


其他

[其他] 標籤提供下列選項:

使用 IDM 效能評測器檢視

IDM 效能評測器檢視包含下列區域:

目前的專案區域

[目前的專案] 區域包含列出所有目前專案的下拉式功能表。使用此功能表可選取要評測其效能的專案。

控制區域

[控制] 區域包含四個圖示,如下表所述:

圖示 

名稱 

用途 

表示 [啟動 Identity Manager 效能評測器] 圖示的圖片

啟動 Identity Manager 效能評測器 

啟動效能評測器並開啟 [效能評測器選項] 對話方塊。 

表示 [停止 Identity Manager 效能評測器] 圖示的圖片

停止 Identity Manager 效能評測器 

停止效能評測器。 

表示 [重設收集的結果] 圖示的圖片

重設收集的結果 

重設到目前為止所收集的效能評測結果。 

表示 [修改效能評測] 圖示的圖片

修改效能評測 

重新開啟 [效能評測器選項] 對話方塊,以變更任何設定來修改目前的效能評測結果。 

狀態區域

[狀態] 區域會報告是否已連線至主機,並提供效能評測器啟動、執行與停止的狀態資訊。

效能評測結果區域

[效能評測結果] 區域包含兩個圖示,如下表所述:

圖示 

名稱 

用途 

表示 [啟動 Identity Manager 效能評測器] 圖示的圖片

啟動 Identity Manager 效能評測器 

啟動效能評測器並開啟 [效能評測器選項] 對話方塊。 

表示 [重設收集的結果] 圖示的圖片

重設收集的結果 

重設到目前為止所收集的效能評測結果。 

已儲存的快照區域

[已儲存的快照] 區域提供所有儲存的快照清單。


備註 –

儲存快照提供儲存快照的說明。


此外,您可以使用下列按鈕管理這些快照:

使用快照檢視

當您開啟快照時,Identity Manager IDE 右上方的 [快照檢視] 視窗會顯示結果。

快照提供數種資料的檢視,以下各節將對此進行描述:

呼叫樹狀結構檢視

[呼叫樹狀結構檢視] 包含樹狀結構表格,顯示整個系統的呼叫計時及呼叫計數。

此樹狀結構表格包含三欄:

Hotspots 檢視

[Hotspots 檢視] 提供直列式節點清單,顯示所有父系節點的集合呼叫計時。

此檢視包含下列欄:

Back Traces 檢視

[Back Traces 檢視] 提供顛倒的呼叫堆疊,顯示呼叫每個節點的所有來源呼叫鏈。

您可以使用這些統計回答以下問題:如果我省略此節點發出的此特定呼叫鏈,可以節省多少時間?

您可以在節點 (稱為根節點) 上按一下滑鼠右鍵,並從快顯功能表中選取 [顯示 Back Traces],以從任何其他快照檢視存取 [Back Traces] 檢視。


備註 –

[Time] 與 [Invocations] 資料值在 [Back Traces] 檢視中有不同的含義:


被呼叫端檢視

[被呼叫端檢視] 提供節點 (稱為根節點) 的彙總呼叫樹狀結構,而不考慮其父鏈為何。

如果從主要呼叫樹狀結構的許多位置呼叫的區域有問題,而您想檢視節點的整體設定檔,這些統計會很有幫助。

您可以在節點 (稱為根節點) 上按一下滑鼠右鍵,並從快顯功能表中選取 [顯示被呼叫端],以從任何其他快照檢視存取 [被呼叫端檢視]。


備註 –

[被呼叫端檢視] 中所使用的 [Time] 與 [Invocations] 資料值,和 [呼叫樹狀結構] 檢視中所使用的資料值有相同含義。


使用快顯功能表選項

在 [呼叫樹狀結構檢視] 或 [Hotspots 檢視] 中任何的節點上按一下滑鼠右鍵,會隨即顯示快顯功能表,內含下表所述的選項:

功能表選項 

說明 

移至來源 

選取此選項可檢視對應 Java 方法、工作流程、表單、規則或 XPRESS 之節點的 XML 來源。如需有關此檢視的詳細資訊,請參閱效能評測器查找及管理來源的方式

顯示 Back Traces 

選取此選項可存取 [Back Traces] 檢視。如需有關此檢視的詳細資訊,請參閱Back Traces 檢視

顯示被呼叫端 

選取此選項可存取 [被呼叫端檢視]。如需有關此檢視的詳細資訊,請參閱被呼叫端檢視

在 Hotspots 中尋找 

選取此選項可在 [Hotspots 檢視] 中尋找節點。如需有關此檢視的詳細資訊,請參閱Hotspots 檢視

清單選項 -> [排序] -> 

此選項有下列選項: 

  • None

  • 呼叫樹狀結構

  • Time

  • Invocations

  • Ascending

  • Descending

清單選項 -> [變更可見欄] 

選取此選項可變更 [呼叫樹狀結構] 或 [Hotspots] 清單中所顯示的欄。 

您可以在 [變更可見欄] 對話方塊顯示時,選取下列一個或多個選項:1 

  • Call Tree:Call Tree

  • Invocations:Invocations

  • Time:Time

搜尋快照

使用 [快照檢視] 視窗頂端的 [搜尋] 圖示表示 [搜尋] 圖示的圖片 ,在呼叫樹狀結構檢視或 Hotspots 樹狀結構中依名稱搜尋節點。

或者,在 [呼叫樹狀結構檢視] 或 [Hotspots 檢視] 中的任何節點上按一下滑鼠右鍵,然後從快顯功能表中分別選取 [在呼叫樹狀結構中尋找] 或 [在 Hotspots 中尋找] 以搜尋節點。

儲存快照

效能評測器提供數個儲存快照的選項。如需這些選項的描述,請參閱下表:

圖示 

名稱 

用途 

表示 [啟動 Identity Manager 效能評測器] 圖示的圖片

[在專案中儲存快照] 圖示 (位於 [快照檢視] 視窗頂端) 

在專案的 nbproject/private/idm-profiler 目錄中儲存快照。儲存在專案中的快照會列於效能評測器檢視的 [已儲存的快照] 區段中。

表示 [停止 Identity Manager 效能評測器] 圖示的圖片

[在外部儲存快照] 圖示 (位於 [快照檢視] 視窗頂端) 

將快照另存在外部的任意位置。 

表示 [重設收集的結果] 圖示的圖片

[另存新檔] 按鈕 (位於 [已儲存的快照] 區域中) 

將快照另存在外部的任意位置。 

指導:效能問題的疑難排解

Identity Manager 提供指導 (profiler-tutorial.zip) 以協助您瞭解如何使用效能評測器對表單、Java、規則、工作流程與 XPRESS 進行疑難排解。

使用下列步驟完成指導。

Procedure步驟 1:建立 Identity Manager 專案

  1. 選取 [檔案] -> [新增專案]。

  2. 請在顯示 [新增專案] 精靈時指定下列項目,然後按 [下一步]:

    1. 在 [種類] 清單中,選取 [Web] 以表示建立的專案類型。

    2. 在 [專案] 清單中,選取 [Identity Manager 專案]。


      備註 –

      您必須建立一般 Identity Manager 專案才能獲得功能完整的開發環境。請勿選取 [Identity Manager 專案 (遠端)] 選項。


  3. 填寫 [名稱與位置] 畫面上的下列欄位,然後按 [下一步]:

    • 專案名稱:輸入 Idm80 作為專案名稱。

    • 專案位置:使用預設位置或指定不同的位置。

    • 專案資料夾:使用預設資料夾或指定不同的資料夾。

  4. 請在顯示 [Identity Manager WAR 檔案位置] 面板時,輸入 Identity Manager 8.1 war 檔案的位置。一般而言,解壓縮此檔案會在相同目錄中建立 idm.war 檔案。

  5. 按 [下一步] 繼續執行 [儲存庫設定] 畫面。

    您應該不需要變更此面板上的預設設定,請直接按一下 [完成]。當您在 [Identity Manager IDE 輸出] 視窗中看到 BUILD SUCCESSFUL (建置成功) 訊息時,即可解壓縮效能評測器指導檔案。請參閱步驟 2:解壓縮效能評測器指導以取得說明。

Procedure步驟 2:解壓縮效能評測器指導

  1. 解壓縮專案根目錄中的 profiler-tutorial.zip。解壓縮的檔案包含:

    <project root>/custom/WEB-INF/config/ProfilerTutorial1.xml
    <project root>/custom/WEB-INF/config/ProfilerTutorial2.xml
    <project root>/src/org/example/ProfilerTutorialExample.java
    <project root>/PROFILER_TUTORIAL_README.txt
  2. 啟動效能評測器。繼續執行步驟 3:啟動效能評測器

Procedure步驟 3:啟動效能評測器

  1. 使用開始之前中提供的說明,增加伺服器與 Netbeans JVM 的記憶體。

  2. 使用概況中所述的任何方法啟動效能評測器。

  3. 顯示 [效能評測器選項] 對話方塊時,可以指定效能評測選項。

  4. 繼續執行步驟 4:設定效能評測器選項


    備註 –

    如需有關所有不同效能評測器選項的詳細資訊,請參閱指定效能評測器選項


Procedure步驟 4:設定效能評測器選項

若要使用此指導,請指定下列效能評測器選項:

  1. 在 [模式] 標籤上,選取 [Java 與 IDM 物件] 以評測表單、Java、規則、工作流程與 XPRESS 物件的效能。

  2. 選取 [Java 篩選器] 標籤。

    使用下列步驟停用所有 Identity Manager Java 類別,但自訂 Java 類別 (在此案例中為 org.example.ProfilerTutorialExample) 除外

    1. 按一下 [新增],新的空白欄位會顯示在 [篩選器] 欄底部。

    2. com.waveset.* 輸入新的欄位,然後選取 [排除] 方塊。

    3. 再按一下 [新增]。

    4. com.sun.idm.* 輸入新的欄位,然後選取 [排除] 方塊。

  3. 按一下 [確定] 以執行效能評測器。


    備註 –

    如果是第一次在專案上執行效能評測器,或最近執行過清除專案動作,則效能評測器需要幾分鐘才能完成。


    當效能評測器完成處理時,系統會提示您登入。

  4. 輸入密碼 configurator,選取 [記住密碼] 方塊,然後按一下 [確定] 繼續。

  5. 請在顯示 Identity Manager 視窗時登入。


    備註 –

    通常您應該以不同的使用者身份登入 Identity Manager,而不是再次以 configurator 登入。您已使用 configurator 的身份登入效能評測器,Identity Manager 階段作業池不允許使用者重複登入。登入多次可能造成階段作業池故障的假象,且可能扭曲細部效能問題的效能評測結果。

    但是,針對此簡單的範例,階段作業區並不重要,因此您可以 configurator/configurator 登入。


  6. 在 Identity Manager 中,選取 [伺服器作業] -> [執行作業],然後按一下 [ProfilerTutorialWorkflow1]。

    此指導可能需要幾分鐘才會回應。

  7. 雖然您現在可拍攝快照,但目前請重設結果、執行效能評測器並再執行一次,然後拍攝快照。


    備註 –

    執行效能評測器幾次再拍攝快照是最佳作法,如此可確保所有快取皆就緒、所有 JSP 都已編譯等。

    多次執行效能評測器可讓您專注在實際的效能問題上。但如果您有快取寫入的問題,則不要如此做。


    1. 返回 Identity Manager IDE 中的 IDM 效能評測器檢視。在 [效能評測結果] 區段 (或 [控制] 區段) 中,按一下 [重設收集的結果] 圖示,可重設目前為止收集的所有結果。

    2. 在 Identity Manager 中,再次選取 [伺服器作業] -> [執行作業],然後按一下 [ProfilerTutorialWorkflow1]。

    3. 請在顯示 [進程圖] 時,返回 Identity Manager IDE 並按一下 [效能評測結果] 區段中的 [拍攝快照]。

  8. Identity Manager IDE 會下載快照並在視窗右側顯示結果。

    此區域為 [呼叫樹狀結構] 檢視。在 [呼叫樹狀結構] 頂端,您會看到 /idm/task/taskLaunch.jsp,其 [Time] 欄中列有時間。此時間應表示整個請求耗用六秒以上。

  9. 展開 /idm/task/taskLaunch.jsp 節點,您會看到 ProfilerTutorialWorkflow1 耗用六秒。

  10. 展開 ProfilerTutorialWorkflow1 節點。請注意,activity2 耗用四秒,而 activity1 耗用兩秒。

  11. 展開 activity2

    請注意,action1 耗用兩秒,而 action2 耗用兩秒。

  12. 展開 action1,請注意 <invoke> 也耗用兩秒。

  13. 連按兩下 <invoke> 以開啟 ProfilerTutorialWorkflow1.xml,並反白顯示下行:


    <invoke name=’example’ class=’org.example.ProfilerTutorialExample’/>

    您應該會看到呼叫 ProfilerTutorialExample 方法耗用兩秒。


    備註 –

    您實際上會瀏覽快照中擷取的 XML 來源,而非專案中的來源。快照本身即具備所有資料。(如需更多資訊,請參閱效能評測器查找及管理來源的方式。)


  14. 選取 [CPU:<date>< time>] 標籤以返回快照。

  15. 展開 <invoke> 節點,請注意效能評測器在 Java ProfilerTutorialExample.example() 方法中耗用兩秒。

  16. 連按兩下方法名稱以開啟 ProfilerTutorialExample.java 來源,並反白顯示下行:


    Thread.sleep(2000);

    發生問題!此方法包含兩秒的執行緒暫停。

  17. 若返回 [呼叫樹狀結構],您會看到所有兩秒的路徑都指向此方法。(您應該看到三個路徑;總計六秒。)

  18. 選取 [Hotspots] 標籤 (位於 [呼叫樹狀結構] 區域底部) 以開啟 [Hotspots] 檢視。請注意,ProfilerTutorialExample.example() 的總計 Self Time 為六秒。

    (如需有關 Hotspots 的更多資訊,請參閱使用快照檢視。)

  19. ProfilerTutorialExample.example() 上按一下滑鼠右鍵,然後從快顯功能表中選取 [顯示 Back Traces]。

    新的 [Back Traces] 標籤會顯示在此區域底端。

  20. 展開 [Back Traces] 標籤上的 ProfilerTutorialExample.example() 節點,會看到有三處呼叫此方法,且從每處呼叫此方法都耗用兩秒。

    (如需有關 Back Traces 的更多資訊,請參閱使用快照檢視。)

  21. 按一下 [在專案中儲存快照] 圖示以儲存並關閉快照。

    如果您查看 [IDM 效能評測器] 標籤上的 [已儲存的快照] 區段,應該會看到您的快照。(您可能必須向下捲動。)

  22. 選取已儲存的快照,然後按一下 [開啟] 重新開啟快照。


    備註 –

    您可以使用 [另存新檔] 按鈕在外部儲存快照,並使用 [載入] 按鈕從專案外部載入快照。


  23. 再次關閉快照。

Procedure步驟 5:評測 ManualAction 工作流程的效能

此指導的下一個部分會說明如何評測工作流程 ManualAction 的效能。

  1. 在 Identity Manager 中,選取 [伺服器作業] -> [執行作業],然後按一下 [ProfilerTutorialWorkflow2]。

    在幾分鐘後,會顯示一個空白的表單。

  2. 按一下 [儲存],會隨即顯示進程圖。

  3. 再次選取 [伺服器作業] -> [執行作業]。

  4. 返回 Identity Manager IDE IDM 效能評測器檢視,然後在 [效能評測結果] 區段中,按一下 [重設收集的結果] 圖示。

  5. 現在按一下 Identity Manager 中的 [ProfilerTutorialWorkflow2]。

  6. 當空白表單再次顯示時,請按一下 [儲存]。

  7. 在 IDM 效能評測器檢視中,按一下 [拍攝快照]。

    幾秒之後,快照應顯示在 [呼叫樹狀結構] 區域中。您應該會看到 /idm/task/workItemEdit.jsp 耗用六秒以上。(此結果會對應至工作流程中的手動操作。)

  8. 展開 /idm/task/workItemEdit.jsp 節點,並注意執行 ManualAction 表單中之所有 Derivation 的節點總計耗用六秒。

  9. 依序展開 DerivationdisplayNameFormvariables.dummy<block> 節點。

    您應該會看到 <block> 耗用了六秒,其間效能評測器三次呼叫 ProfilerTutorialExample.example() 方法,每次呼叫耗用兩秒。

  10. 您可以連按兩下 <block> 以檢視來源。

線上說明

本小節包含線上說明的文件校正。