本文介紹如何排除過載情況。
Cisco WAAS網路設計用於根據客戶需求最佳化一定數量的TCP連線。根據WAE的型號,SSL和CIFS應用加速器可能存在額外的連線限制。當超出整體連線限制或特定應用程式加速器連線限制時,裝置就會過載。在這種情況下,進入裝置的流量將超出其可處理量,因此流量可能不會按預期進行最佳化(過載的流量通過未最佳化的流量)。
當WAAS加速器裝置超載時,您通常會看到以下中央Manager警報:正在進入由於最大連線數導致的過載狀態(nnn)。 nnn是自上次重新啟動後WAE超載的次數。
裝置還會記錄類似於以下內容的系統日誌錯誤消息:Sysmon: %WAAS-SYSMON-3-445015:檢測到故障:TFO加速器超載(連線限制)
您可以在CLI中使用各種show命令來確定允許連線數和實際連線數,並收集更多資訊。
第一個有用的命令是show tfo detail,它可以告訴您裝置可以處理多少最佳化的TFO連線,如下所示:
wae-7341# show tfo detail Policy Engine Config Item Value ------------------------- ----- State Registered Default Action Use Policy Connection Limit 12000 <-----Maximum number of TFO optimized connections Effective Limit 11988 Keepalive timeout 3.0 seconds
「連線限制」值告訴您,此WAAS裝置可以支援12000最佳化連線。
如果MAPI AO保留了一些連線,則有效限制可能低於連線限制。保留的連線會從「連線限制」中減去,以獲得有效限制。
要瞭解裝置上的TCP流,可以使用show statistics connection命令(在4.1.1版中,使用show statistics connection all命令)。 此命令顯示當前處理的TFO/DRE/LZ流、傳遞流和由特定應用程式加速器處理的流。以下是一個命令示例:
wae# show statistics connection Current Active Optimized Flows: 5 Current Active Optimized TCP Plus Flows: 5 Current Active Optimized TCP Only Flows: 0 Current Active Optimized TCP Preposition Flows: 0 Current Active Auto-Discovery Flows: 0 Current Reserved Flows: 12 <---------- Added in 4.1.5 Current Active Pass-Through Flows: 0 Historical Flows: 143 D:DRE,L:LZ,T:TCP Optimization, A:AOIM,C:CIFS,E:EPM,G:GENERIC,H:HTTP,M:MAPI,N:NFS,S:SSL,V:VIDEO ConnID Source IP:Port Dest IP:Port PeerID Accel 92917 10.86.232.131:41197 70.70.7.11:3268 00:1a:64:69:19:fc TDL 92918 10.86.232.131:41198 70.70.7.11:3268 00:1a:64:69:19:fc TDL 92921 10.86.232.131:41216 70.70.7.11:3268 00:1a:64:69:19:fc TDL 94458 10.86.232.131:45354 70.70.7.11:1026 00:1a:64:69:19:fc TDL 36883 10.86.232.136:1857 10.86.232.131:1026 00:1a:64:69:19:fc TDL
從輸出的第一行(當前主動最佳化流)中,您可以看到裝置當前有五個主動最佳化流。從第二個計數器(Current Active Optimized TCP Plus Flows)中,您可以看到它們都使用TFO/DRE/LZ最佳化進行處理(TFO Plus表示除TFO外還使用DRE和/或LZ最佳化)。 第三個計數器(Current Active Optimized TCP Flows)顯示僅通過TFO最佳化的流。
另一個有用的計數器是Current Active Auto-discovery Flows,它顯示尚未完全設定為最佳化流或傳遞流的流。要完全設定,連線必須看到SYN、SYN ACK和ACK握手,在處理過載情況時需要注意這一點。Current Active Pass-Through Flows計數器顯示裝置已確定為傳遞或裝置未看到SYN、SYN ACK和ACK設定的連線。這些流不會計為最佳化流。對於直通流,裝置應能夠處理其評級為最佳流數量的10倍。
Current Reserved Flows計數器顯示為MAPI加速器保留的連線數。有關保留MAPI連線及其對裝置過載影響的詳細資訊,請參閱MAPI應用程式加速器保留連線對過載的影響部分。
以下三個計數器的總和說明WAE裝置接近其連線限制的程度:
如果此總和等於或大於連線限制,則裝置處於過載狀態。
有關五個最佳化流的詳細資訊顯示在計數器下方的表中。
另一個可用於檢視裝置上當前的TFO流數量的命令是show statistics tfo detail命令。輸出中最有用的兩個計數器是「No. of active connections」(活動連線數),在Policy Engine Statistics(策略引擎統計資料)下是「Active connections」(活動連線),如下所示:
wae# show statistics tfo detail Total number of connections : 22915 No. of active connections : 3 <-----Current optimized connections No. of pending (to be accepted) connections : 0 No. of bypass connections : 113 No. of normal closed conns : 19124 No. of reset connections : 3788 Socket write failure : 2520 Socket read failure : 0 WAN socket close while waiting to write : 1 AO socket close while waiting to write : 86 WAN socket error close while waiting to read : 0 AO socket error close while waiting to read : 80 DRE decode failure : 0 DRE encode failure : 0 Connection init failure : 0 WAN socket unexpected close while waiting to read : 1048 Exceeded maximum number of supported connections : 0 Buffer allocation or manipulation failed : 0 Peer received reset from end host : 53 DRE connection state out of sync : 0 Memory allocation failed for buffer heads : 0 Unoptimized packet received on optimized side : 0 Data buffer usages: Used size: 0 B, B-size: 0 B, B-num: 0 Cloned size: 54584 B, B-size: 73472 B, B-num: 111 Buffer Control: Encode size: 0 B, slow: 0, stop: 0 Decode size: 0 B, slow: 0, stop: 0 AckQ Control: Total: 0, Current: 0 Scheduler: Queue Size: IO: 0, Semi-IO: 0, Non-IO: 0 Total Jobs: IO: 219110, Semi-IO: 186629, Non-IO: 49227 Policy Engine Statistics ------------------------- Session timeouts: 0, Total timeouts: 0 Last keepalive received 00.0 Secs ago Last registration occurred 8:03:54:38.7 Days:Hours:Mins:Secs ago Hits: 52125, Update Released: 17945 Active Connections: 3, Completed Connections: 37257 <-----Active Connections Drops: 0 Rejected Connection Counts Due To: (Total: 12) Not Registered : 12, Keepalive Timeout : 0 No License : 0, Load Level : 0 Connection Limit : 0, Rate Limit : 0 <-----Connection Limit Minimum TFO : 0, Resource Manager : 0 Global Config : 0, Server-Side : 0 DM Deny : 0, No DM Accept : 0 Auto-Discovery Statistics ------------------------- Total Connections queued for accept: 22907 Connections queuing failures: 0 Socket pairs queued for accept: 0 Socket pairs queuing failures: 0 AO discovery successful: 0 AO discovery failure: 0
在某些情況下,兩個計數器會不同,其原因是「否」。活動連線數」顯示由TFO、TFO/DRE、TFO/DRE/LZ和TFO/DRE/LZ以及應用程式加速器最佳化的所有當前流。策略引擎統計資訊下的「活動連線」包括處於上述狀態的所有流,以及僅由TFO和應用程式加速器最佳化的連線。這種情況意味著TCP流傳入並匹配了應用程式加速器分類器,但SYN、SYN ACK、ACK握手尚未完成。
在多種TFO過載情況中,如果問題仍然存在,可以檢視這些命令並確定最佳化流的數量是否與硬體的最佳化TCP連線的額定數量相近。如果是,則您可以檢視流量詳細資訊,並檢視哪些流量消耗了所有的流量,以此確定此流量是合法流量並過載了裝置,還是病毒、安全掃描程式或網路中出現的其他現象。
策略引擎統計資訊下的「連線限制」計數器報告由於WAE超過其最佳化的TCP連線的額定數而被拒絕和通過的連線數。如果此計數器高,則表示WAE獲得的連線經常超過它可以處理的連線數。
如果最佳化連線的數量與最佳化TCP連線的額定數量不接近,並且您仍然收到過載警報,則您應該檢視show statistics connection命令中的當前活動自動發現流,或檢視show statistics tfo detail命令中Policy Engine Statistics下的「活動連線」。在某些情況下,最佳化連線的數量可能非常低,但Policy Engine Statistics下的Active Connections大致等於硬體最佳化流的額定數量。這種情況意味著有許多流與分類器匹配,但並未完全建立。當TCP SYN與分類器匹配時,它將保留最佳化連線。在TCP握手完成並開始最佳化之前,此連線不會出現在最佳化的TCP連線計數中。如果裝置確定不應最佳化該流,則會將其從策略引擎統計資訊下的活動連線計數中刪除。
要進一步排除發生TFO過載且策略引擎統計資訊活動連線似乎用盡裝置上的所有最佳化TCP連線的情況,請使用show statistics accelerator detail命令。在此命令的輸出中,檢視Policy Engine Statistics下每個應用程式加速器的活動連線,以確定哪個應用程式加速器正在接收未完全建立的這些連線。接下來,使用show statistics filtering命令檢視這些流可能處於什麼狀態,該命令為您提供了裝置上的過濾元組數,如下所示:
wae# show statistics filtering Number of filtering tuples: 18 Number of filtering tuple collisions: 0 Packets dropped due to filtering tuple collisions: 0 Number of transparent packets locally delivered: 965106 Number of transparent packets dropped: 0 Packets dropped due to ttl expiry: 0 Packets dropped due to bad route: 10 Syn packets dropped with our own id in the options: 0 Syn-Ack packets dropped with our own id in the options: 0 Internal client syn packets dropped: 0 Syn packets received and dropped on estab. conn: 0 Syn-Ack packets received and dropped on estab. conn: 0 Syn packets dropped due to peer connection alive: 525 Syn-Ack packets dropped due to peer connection alive: 0 Packets recvd on in progress conn. and not handled: 0 Packets dropped due to peer connection alive: 1614 Packets dropped due to invalid TCP flags: 0 Packets dropped by FB packet input notifier: 0 Packets dropped by FB packet output notifier: 0 Number of errors by FB tuple create notifier: 0 Number of errors by FB tuple delete notifier: 0 Dropped WCCP GRE packets due to invalid WCCP service: 0 Dropped WCCP L2 packets due to invalid WCCP service: 0 Number of deleted tuple refresh events: 0 Number of times valid tuples found on refresh list: 0
過濾元組的數量是裝置上經過最佳化、通過、FIN WAIT狀態、設定狀態等的流數。每個已建立的流顯示為兩個元組,每個元組代表流的每一端,因此您在此輸出中看到的流數量可能遠大於您在其它命令中看到的流數量。
要獲取過濾清單中流的詳細資訊,可以使用show filtering list命令,如下所示:
wae# show filtering list E: Established, S: Syn, A: Ack, F: Fin, R: Reset s: sent, r: received, O: Options, P: Passthrough B: Bypass, L: Last Ack, W: Time Wait, D: Done T: Timedout, C: Closed Local-IP:Port Remote-IP:Port Tuple(Mate) State 10.86.232.82:23 10.86.232.134:41784 0xbc1ae980(0x0 ) E 10.86.232.131:58775 70.70.7.11:3268 0x570b2900(0x570b2b80) EW 70.70.7.11:3268 10.86.232.131:58775 0x570b2b80(0x570b2900) EDL 70.70.7.11:3268 10.86.232.131:57920 0x570b2d80(0x570b2800) E 10.86.232.131:57920 70.70.7.11:3268 0x570b2800(0x570b2d80) E 10.86.232.82:23 161.44.67.102:4752 0xbc1aee00(0x0 ) E 10.86.232.131:58787 70.70.7.11:1026 0x570b2080(0x570b2e80) EW 70.70.7.11:1026 10.86.232.131:58787 0x570b2e80(0x570b2080) EDL 10.86.232.131:48698 70.70.7.11:1026 0x570b2f00(0x570b2880) PE 10.86.232.131:58774 70.70.7.11:389 0x570b2300(0x570b2180) EW 70.70.7.11:389 10.86.232.131:58774 0x570b2180(0x570b2300) EDL 10.86.232.131:58728 70.70.7.11:1026 0x570b2380(0x570b2a00) E 10.86.232.131:58784 70.70.7.11:1026 0x570b2e00(0x570b2980) EW 70.70.7.11:1026 10.86.232.131:58784 0x570b2980(0x570b2e00) EDL 70.70.7.11:1026 10.86.232.131:48698 0x570b2880(0x570b2f00) PE 10.86.232.131:58790 70.70.7.11:3268 0x570b2100(0x570b2c80) EW 70.70.7.11:3268 10.86.232.131:58790 0x570b2c80(0x570b2100) EDL
如果show statistics accelerator all命令顯示哪個應用程式加速器正在使用所有最佳化的TFO連線,則可以對該埠或流量進行過濾。例如,如果要過濾埠80流量,請使用show filtering list | I :80命令。
檢視「狀態」列中的圖例。如果流處於SYN狀態,您可能會看到許多狀態為S的流。如果WAE已使用設定的選項傳送回SYN ACK,您可能會看到狀態SAsO。此指示可以幫助您確定流的狀態,並從那裡可以確定是否存在路由問題、病毒或WAE未釋放連線的問題。您可能需要跟蹤來確定流發生的確切情況,但上面的命令應該會讓您知道要查詢的內容。
通常,MAPI應用程式加速器保留連線可能導致TFO過載,因此瞭解MAPI應用程式加速器如何保留連線的過程非常有用。
MAPI應用程式加速器保留TFO連線,以確保它有足夠的可用連線來加速客戶端將建立到Exchange伺服器的所有當前和將來連線。MAPI客戶端進行多個連線是正常的。如果客戶端通過MAPI應用程式加速器進行初始連線,但後續連線在MAPI應用程式加速器中失敗,則客戶端的連線可能會失敗。
為了避免這些潛在的連線故障,MAPI應用程式加速器會保留以下連線資源:
所有這些保留連線都旨在改善效能,並降低由於無法通過MAPI應用程式加速器進行其他連線而導致客戶端連線失敗的可能性。
當當前活動最佳化流+當前活動自動發現流+當前保留流大於裝置的固定連線限制時,會發生過載。一般情況下,新的連線會通過。但是一些新的MAPI連線仍可以最佳化。當裝置處於過載點時,如果客戶端向已連線的MAPI伺服器發出附加請求,則使用保留的連線。但是,如果沒有足夠的保留連線(例如,如果客戶端與同一MAPI伺服器建立了第四個連線,並且WAE已過載),則可能會發生轉義連線情況,這可能導致錯誤行為,例如客戶端收到同一封郵件的多個重複副本。
如果系統沒有將連線轉發到MAPI應用程式加速器,您應該會看到「PT Rjct Resources」或「PT in progress」,具體取決於連線上是否存在活動。如果連線被轉發到MAPI應用程式加速器,然後保留失敗,則連線將被標籤為加速器的「G」,而不是「M」(在show statistics connection optimized mapi命令輸出中)。 有關此命令的示例,請參閱排除MAPI AO故障一文。
如果您遇到頻繁的超載情況,瞭解Outlook客戶端如何進行連線(與多少個Exchange伺服器的連線數)非常重要。 在客戶端上運行Outlook時,按住Ctrl鍵,同時按一下右鍵工作列上系統工作列中的Outlook圖示。選擇連線狀態以顯示Outlook客戶端已連線的伺服器的清單。從中您可以看到客戶端建立了多少個連線,以及有多少個不同的Exchange伺服器。如果客戶端連線到多個不同的伺服器,最好研究整合郵件的方式,以便使用者只開啟與單個Exchange伺服器的MAPI連線,並且使用與該伺服器的多個連線。
調查是否有任何其他應用程式可能正在建立MAPI連線也非常有用。
檢查最佳化的連線是否合法。在許多情況下,網路中遇到的拒絕服務(DoS)攻擊可能導致WAE嘗試最佳化連線。如果是,請在網路中使用DoS保護機制主動關閉連線。
在連線合法的情況下,部署在該位置的WAE規模過小,可能需要升級,或者可以部署其他WAE以提高該站點內的可擴充性。