如何測試 Microsoft 遠端程序呼叫 (Remote Procedure Call) 的效能

文章翻譯 文章翻譯
文章編號: 177446 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

本文將告訴您,如何測試 Microsoft 遠端程序呼叫 (RPC) 的效能,以及如何疑難排解 RPC 錯誤訊息。

其他相關資訊

RPC 與「開放軟體基金會」(OSF,Open Software Foundation) 相容,並且可以與其他 Data Communications Exchange (DCE) 標準產生互通性。RPC 為網路獨立之用戶端伺服器通訊所使用的業界標準處理序間通訊 (IPC) 機制,可以在各種網路通訊協定上運作。RPC 會使用 IPC 機制建立用戶端與伺服器之間的通訊,以便在遠端電腦上呼叫程式功能。 使用此服務層級的複雜程式必須具有連線或輸送量等級,才能充分發揮此功能。例如,當您使用 Microsoft Exchange Server 時,則需要連線以維持穩定的資料流量。

RPC 錯誤訊息

當您使用 RPC 時,可能會收到下列錯誤訊息 (不一定是網路連線過慢所造成的):
  • 不支援 RPC 通訊協定順序。
  • RPC 通訊協定順序不正確。
  • RPC 伺服器已在聽候。
  • RPC 伺服器不在聽候。
  • RPC 伺服器無法使用。
  • RPC 伺服器忙線中,無法完成此操作。
  • 遠端程序呼叫 (RPC) 通訊協定發生錯誤。
  • RPC 伺服器不支援傳輸語法。
  • 找不到 RPC 通訊協定順序。
  • 遠端程序呼叫 (RPC) 發生內部錯誤。
  • RPC 伺服器企圖以零除整數。
  • RPC 伺服器中發生位址錯誤。
  • RPC 伺服器上的浮點操作引起以零除。
  • RPC 伺服器上發生浮點下溢。
  • RPC 伺服器上發生浮點溢位。
  • 自動控制碼連結的可用 RPC 伺服器清單已用完。
  • 這不是正確的 Windows RPC 錯誤碼。
  • RPC 虛設常式的版本不相容。
  • RPC 管道物件不正確或已損毀。
  • 在 RPC 管道物件上的操作嘗試不正確。
  • 不受支援的 RPC 管道版本。
  • 這個操作的非同步 RPC 呼叫控制碼不正確。
  • RPC 管道物件已經關閉。
  • 在 RPC 呼叫完成之前全部的管道都已處理完成。
  • 沒有其他來自 RPC 管道的可用資料。

疑難排解 RPC 效能和錯誤訊息

您可以使用許多工具來判斷 RPC 錯誤訊息是否因網路連線過慢所造成。如果您收到 RPC 錯誤訊息,請移除可能為問題原因的緩慢網路連線。請使用下列方法找出問題。
  • 如果要解決造成 RPC 錯誤訊息的名稱解析問題,請確認您是否可以在目的伺服器上透過命令提示使用 NET VIEW 命令。如果您在用戶端與伺服器程式之間使用「傳輸控制通訊協定/網際網路通訊協定」(TCP/IP),則可以使用 Lmhosts 檔案除去可能造成問題的 Windows Internet Naming Service (WINS)。
  • 您可以使用其他 RPC 程式測試基本 RPC 連線。Windows NT Server 包含了數個 RPC 程式。 事件檢視器 (Eventvwr.exe) 與登錄編輯器 (Regedt32.exe) 可以用於任何執行 Windows NT 的電腦。 其他程式,例如使用者管理員 (Usrmgr.exe) 與伺服器管理員 (Srvmgr.exe) 則可以依照預設用於網域主控制站 (PDC) 上。 請使用其中一個程式做為另一個 RPC 連線測試。
  • 如果要測試網路連線,請使用「效能監視器」(Perfmon.exe) 監控網路上基本檔案複製的速度。 為了讓測試有足夠的取樣時間並且可以針對階段性 (segmenting) 及連續性 (sequencing) 進行完整的測試,因此只測試檔案大小至少 2 MB 的檔案。如果要使用「效能監視器」在網路上複製檔案:

    1. 找出 2 MB 或更大的檔案。如果您手邊沒有可用的 2 MB 檔案,可以使用 COPY 命令從既有檔案中建立檔案。如果要執行此項操作,請在命令提示中輸入下列命令,再按下 ENTER:
      copy /b file.ext + file.ext + file.ext + file.ext destination.ext
      注意:當來源檔案不是文字時,請使用二進位 (/b) 參數。這可以避免 CTRL+Z 被判讀為檔案結尾字元。
    2. 在用戶端電腦上啟動「效能監視器」。 因為「效能監視器」無法分辨連線之間不同電腦上的檔案複本,因此如果其他連線會影響結果,您可能想要中斷目前所有網路連線。 如果要中斷目前所有網路連線,請在命令提示中輸入 net use * /d,然後按下 ENTER。
    3. 「效能監視器」可以透過 Bytes Transmitted/sec、Bytes Received/sec 與 Bytes Total/sec 計數器,來監控伺服器的檔案複本或重新導向器物件。如果要簡化此程序並更精確地顯示 RPC 連線中的資料流量,請從伺服器電腦複製一個檔案到執行 PC 程式的用戶端電腦。請在伺服器電腦上找出一個 2 MB 檔案。
    4. 在用戶端電腦的「效能監視器」中,請依照下列步驟:
      1. [編輯] 功能表上,按一下 [新增到圖表]
      2. [物件] 方塊中按一下 [重新導向器]
      3. [計數器] 方塊中按一下 [Bytes Received/sec],再按一下 [新增]
    5. 在命令提示中,對應一個磁碟機代號到伺服器電腦,然後再從伺服器電腦複製檔案到用戶端電腦。
    6. 觀察「效能監視器」中的平均、最大與最小值。如果您使用 128-Kbps 連結進行測試,請觀察平均計數器以確認執行中的複製程序接近每秒 16,384 位元理論限制的 75 % (.75 x 16,384 = 12,288 位元/每秒)。重要的功能性需要更高的數值,因此,您可能需要擴展網路。根據量表,如果測出每秒達 800,000 位元 (bps),就是非常好的表現。 下列表格列出千位元/秒 (kpbs,kilobits per second) 與千位元組/秒 (KBps,Kilobytes per second) 的轉換:

      摺疊此表格展開此表格
      連線速度位元組/秒 (bps)
      128kbps16,384
      512kbps65,536
      1.544Mbps (T1)193,000
      10Mbps (Ethernet)1,250,000
      46.320Mbps (T3)5,790,000


      如果您使用特定連線速度 (例如 128K),基於使用情形和其他因素,您會發現輸出量少於 16,384 bps 完全輸出量。這些數據是理論上的最大值,但實際上會因網路流量而降低。
    7. 如果要進一步移除有問題的一般網路連線:
      1. 在用戶端電腦的 [效能管理員] 中,按一下 [編輯] 功能表上的 [新增到圖表]
      2. [物件] 方塊中按一下 [重新導向器]
      3. [計數器] 方塊中按一下 [Bytes Transmitted/sec],再按一下 [新增]
      4. 將檔案複製到伺服器電腦,並監視檔案複製的速率。
    注意:請確定用戶端電腦與伺服器電腦之間的測試符合您想要的服務層級。 如果要將用戶端與伺服器電腦之間的資料流重新導向,以便使用「效能監視器」執行其他測試,請選擇適當的計數器。
  • 如果要測試兩部電腦之間的 RPC 通訊,請使用 Rpcping 工具。如需有關如何使用 Rpcping 工具的詳細資訊,請按一下下列文件編號,檢視「Microsoft 知識庫」中的文件:
    167260 XCLN:如何使用 RPCPing 來測試 RPC 通訊
  • 造成 RPC 錯誤訊息的其他原因可能是協力廠商的服務,或用戶端或伺服器電腦上所執行的較大服務。 如果要判斷所執行的服務是否為造成錯誤訊息的原因,請停止所有非預設服務,並再次使用「事件檢視器」與「效能監視器」來測試 RPC 效能。
  • 檢查用戶端與伺服器電腦上的 RPC 服務狀態。如果要執行這項操作,請在命令提示中輸入 net start,再按下 ENTER。在網域控制站中,會顯示下列資訊:
    遠端程序呼叫 (RPC) 定位器
    遠端程序呼叫 (RPC) 服務
  • 如果要進一步檢查這些服務的狀態,請使用隨附在 Microsoft Windows NT Resource Kit 中的 Sc.exe 工具。如需有關如何使用 Sc.exe 工具的詳細資訊,請按一下下列文件編號,檢視 Microsoft Knowledge Base 中的文件:
    166819 Using Sc.exe and Netsvc.exe to Control Services Remotely
  • Services.exe 含有許多 RPC 程式碼,其中一個執行緒可能處於無回應狀態。請使用 Dr. Watson 工具 (Drwtsn32.exe) 判斷是否有任何錯誤訊息回報。即使沒有任何錯誤訊息回報,但其中一個執行緒可能是無回應的。 如果發生這種情形,您可能需要重新啟動電腦。
  • 您可以使用隨附在 Windows NT Resource Kit 的 Tlist.exe 工具,取得類似下列的資訊:
           62 Win32StartAddr:0x022a3ca1 LastErr:0x000003e5 State:Waiting
          64 Win32StartAddr:0x022a4895 LastErr:0x00000000 State:Waiting
          67 Win32StartAddr:0x76e03f90 LastErr:0x00000000 State:Waiting
          4.0.1381.4 shp  0x02290000  services.exe
          4.0.1381.4 shp  0x77f60000  ntdll.dll
          4.0.1381.4 shp  0x77e10000  RPCRT4.dll
    						
    檢查狀態、檔案與日期都可能發現更多資訊。
  • 您可以使用 Pmon.exe 工具 (隨附於 Windows NT Resource Kit 中) 的 [工作管理員],取得有關 Services.exe 的資訊,例如記憶體與 CPU 消耗量。
  • 隨附於 Windows NT Resource Kit 中的 Pstat.exe 工具會顯示 Services.exe 的執行緒狀態。

屬性

文章編號: 177446 - 上次校閱: 2003年10月1日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Windows NT Server 4.0 Enterprise Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
關鍵字:?
kbhowto kbinfo kbrpc kbnetwork KB177446
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com