En este artículo se describe cómo solucionar problemas de optimización básica.
Las optimizaciones básicas de WAAS incluyen optimización de flujo TCP (TFO), eliminación de redundancia de datos (DRE) y compresión persistente Lempel-Ziv (LZ).
El número de conexiones TCP, su estado y disposición pueden dar una indicación del estado del sistema WAAS en una ubicación específica. Un sistema saludable mostrará un gran número de conexiones, con un porcentaje significativamente alto de estas cerradas normalmente. El comando show statistics fo detail proporciona una indicación del volumen, el estado y la disposición de las conexiones entre un dispositivo WAAS determinado y otros dispositivos en la red.
Puede ver las estadísticas globales de TFO utilizando el comando show statistics fo detail de la siguiente manera:
WAE# show statistics tfo detail
Total number of connections : 2852
No. of active connections : 3 <-----Active connections
No. of pending (to be accepted) connections : 0
No. of bypass connections : 711
No. of normal closed conns : 2702
No. of reset connections : 147
Socket write failure : 0
Socket read failure : 0
WAN socket close while waiting to write : 0
AO socket close while waiting to write : 2
WAN socket error close while waiting to read : 0
AO socket error close while waiting to read : 64
DRE decode failure : 0
DRE encode failure : 0
Connection init failure : 0
WAN socket unexpected close while waiting to read : 32
Exceeded maximum number of supported connections : 0
Buffer allocation or manipulation failed : 0
Peer received reset from end host : 49
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: 0 B, B-size: 0 B, B-num: 0
Buffer Control:
Encode size: 0 B, slow: 0, stop: 0
Decode size: 0 B, slow: 0, stop: 0
Scheduler:
Queue Size: IO: 0, Semi-IO: 0, Non-IO: 0
Total Jobs: IO: 1151608, Semi-IO: 5511278, Non-IO: 3690931
Policy Engine Statistics
-------------------------
Session timeouts: 0, Total timeouts: 0
Last keepalive received 00.5 Secs ago
Last registration occurred 15:00:17:46.0 Days:Hours:Mins:Secs ago
Hits: 7766, Update Released: 1088
Active Connections: 3, Completed Connections: 7183
Drops: 0
Rejected Connection Counts Due To: (Total: 0)
Not Registered : 0, Keepalive Timeout : 0
No License : 0, Load Level : 0
Connection Limit : 0, Rate Limit : 0 <-----Connection limit overload
Minimum TFO : 0, Resource Manager : 0
Global Config : 0, TFO Overload : 0
Server-Side : 0, DM Deny : 0
No DM Accept : 0
. . .
El campo Nº de conexiones activas informa del número de conexiones que se están optimizando actualmente.
En la sección Estadísticas del motor de políticas del resultado, la sección Recuentos de conexiones rechazadas muestra varias razones por las que se han rechazado las conexiones. El contador Límite de conexión informa el número de veces que se ha rechazado una conexión porque se ha superado el número máximo de conexiones optimizadas. Si ve un número alto aquí, debería buscar las condiciones de sobrecarga. Consulte el artículo Solución de problemas de condiciones de sobrecarga para obtener más información.
Además, la optimización de TFO para las conexiones que se envían desde otros AO porque no pueden optimizar el tráfico es manejada por el AO genérico, que está cubierto en el artículo Resolución de problemas del AO genérico.
Puede ver las estadísticas de conexión TFO usando el comando show statistics connection. Para obtener detalles sobre el uso de este comando, vea la sección "Verificación de las Conexiones TCP Optimizadas" en el artículo Solución de Problemas de Condiciones de Sobrecarga.
Cuando se espera la aceleración de la aplicación pero no se observa, verifique que se estén aplicando las optimizaciones apropiadas al flujo de tráfico y que la memoria caché DRE esté reduciendo el tamaño del tráfico optimizado adecuadamente.
Los mapas de motores de políticas para la optimización de DRE y LZ incluyen lo siguiente:
Diversas condiciones podrían hacer que DRE y/o LZ no se apliquen a una conexión, aunque esté configurada:
Nota: En todas las condiciones anteriores, el comando show statistics connection notificará la Aceleración de "TDL" para las conexiones donde esta era la política negociada. Si observa la cantidad de tráfico de derivación de DRE o LZ, se le dirá si se aplicaron las optimizaciones de DRE o LZ. Utilice el comando show statistics connection conn-id, como se describe más adelante, y observe los números de código DRE para ver si la proporción DRE o LZ está cerca del 0% y se omite la mayor parte del tráfico. Las tres primeras condiciones serán notificadas por el campo "Codificar derivación debido a" y las tres últimas condiciones son el resultado del patrón de datos de tráfico y se contabilizan en las relaciones DRE y LZ notificadas.
Puede ver las estadísticas de una conexión específica para determinar qué optimizaciones básicas se configuraron, negociaron con el par y se aplicaron mediante el comando show statistics connection conn-id. En primer lugar, deberá determinar el ID de conexión para una conexión determinada mediante el comando show statistics connection, de la siguiente manera:
WAE#show stat conn Current Active Optimized Flows: 1 Current Active Optimized TCP Plus Flows: 0 Current Active Optimized TCP Only Flows: 1 Current Active Optimized TCP Preposition Flows: 0 Current Active Auto-Discovery Flows: 0 Current Reserved Flows: 10 Current Active Pass-Through Flows: 0 Historical Flows: 375 D:DRE,L:LZ,T:TCP Optimization RR:Total Reduction Ratio 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 RR 343 10.10.10.10:3300 10.10.100.100:80 00:14:5e:84:24:5f T 00.0% <------
Encontrará los ID de conexión para cada conexión que se muestran al final del resultado. Para ver las estadísticas de una conexión específica, utilice el comando show statistics connection conn-id, de la siguiente manera:
WAE# sh stat connection conn-id 343
Connection Id: 343
Peer Id: 00:14:5e:84:24:5f
Connection Type: EXTERNAL CLIENT
Start Time: Tue Jul 14 16:00:30 2009
Source IP Address: 10.10.10.10
Source Port Number: 3300
Destination IP Address: 10.10.100.100
Destination Port Number: 80
Application Name: Web <-----Application name
Classifier Name: HTTP <-----Classifier name
Map Name: basic
Directed Mode: FALSE
Preposition Flow: FALSE
Policy Details:
Configured: TCP_OPTIMIZE + DRE + LZ <-----Configured policy
Derived: TCP_OPTIMIZE + DRE + LZ
Peer: TCP_OPTIMIZE + DRE + LZ
Negotiated: TCP_OPTIMIZE + DRE + LZ <-----Policy negotiated with peer
Applied: TCP_OPTIMIZE + DRE + LZ <-----Applied policy
. . .
Los campos Nombre de aplicación y Nombre del clasificador le indican la aplicación y el clasificador aplicados a esta conexión.
Las políticas de optimización se enumeran en la sección Detalles de la política. Si las políticas Configuradas y Aplicadas no coinciden, significa que ha configurado una política para este tipo de conexión, pero se ha aplicado una política diferente. Esto podría deberse a que el par se encuentra inactivo, mal configurado o sobrecargado. Verifique el WAE del par y su configuración.
La siguiente sección del resultado muestra las estadísticas relacionadas con el código o el descódigo de DRE, incluyendo el número de mensajes, cuántos tenían DRE aplicado, LZ aplicado o omitido DRE y LZ:
. . .
DRE: 353
Conn-ID: 353 10.10.10.10:3304 -- 10.10.100.100:139 Peer No: 0 Status: Active
------------------------------------------------------------------------------
Open at 07/14/2009 16:04:30, Still active
Encode:
Overall: msg: 178, in: 36520 B, out: 8142 B, ratio: 77.71% <-----Overall compression
DRE: msg: 1, in: 356 B, out: 379 B, ratio: 0.00% <-----DRE compression ratio
DRE Bypass: msg: 178, in: 36164 B <-----DRE bypass
LZ: msg: 178, in: 37869 B, out: 8142 B, ratio: 78.50% <-----LZ compression ratio
LZ Bypass: msg: 0, in: 0 B <-----LZ bypass
Avg latency: 0.335 ms Delayed msg: 0 <-----Avg latency
Encode th-put: 598 KB/s <-----In 4.3.3 and earlier only
Message size distribution:
0-1K=0% 1K-5K=0% 5K-15K=0% 15K-25K=0% 25K-40K=0% >40K=0% <-----In 4.3.3 and earlier only
Decode:
Overall: msg: 14448, in: 5511 KB, out: 420 MB, ratio: 98.72% <-----Overall compression
DRE: msg: 14372, in: 5344 KB, out: 419 MB, ratio: 98.76% <-----DRE compression ratio
DRE Bypass: msg: 14548, in: 882 KB <-----DRE bypass
LZ: msg: 14369, in: 4891 KB, out: 5691 KB, ratio: 14.07% <-----LZ compression ratio
LZ Bypass: msg: 79, in: 620 KB <-----LZ bypass
Avg latency: 4.291 ms <-----Avg latency
Decode th-put: 6946 KB/s <-----In 4.3.3 and earlier only
Message size distribution:
0-1K=4% 1K-5K=12% 5K-15K=18% 15K-25K=9% 25K-40K=13% >40K=40% <-----Output from here in 4.3.3 and earlier only
. . .
Las siguientes estadísticas se resaltan en el ejemplo anterior tanto para la codificación como para la descodificación:
Si ve una gran cantidad de tráfico de desvío, la proporción de compresión DRE será menor de lo esperado. Podría deberse al tráfico cifrado, a mensajes pequeños o a datos no compresibles de otro modo. Considere la posibilidad de ponerse en contacto con el TAC para obtener ayuda sobre la resolución de problemas.
Si ve una gran cantidad de tráfico de omisión de LZ, esto podría deberse a una gran cantidad de tráfico cifrado, que generalmente no es compresible.
Los números de latencia promedio pueden ser útiles para depurar un problema de rendimiento. Dependiendo de la plataforma, la latencia media de codificación y descodificación se encuentra normalmente en los dígitos únicos de ms. Si los usuarios experimentan un bajo rendimiento y uno o ambos de estos números son más altos, indica un problema con la codificación o la descodificación, generalmente en el lado con la latencia más alta.
Puede ser útil observar los datos de estadísticas DRE como los datos utilizables más antiguos, el tamaño de la memoria caché, el porcentaje de memoria caché utilizada, la memoria RAM de la tabla hash utilizada, etc., mediante el comando show statistics dre detail, como se indica a continuación:
WAE# sh stat dre detail
Cache:
Status: Usable, Oldest Data (age): 10h <-----Cache age
Total usable disk size: 311295 MB, Used: 0.32% <-----Percent cache used
Hash table RAM size: 1204 MB, Used: 0.00% <-----Output from here is in 4.3.3 and earlier only
. . .
Si no está viendo una compresión DRE significativa, podría ser porque la memoria caché DRE no se llena con suficientes datos. Verifique si la antigüedad de la memoria caché es corta y se utiliza menos del 100 por ciento de la memoria caché, lo que indicaría esta situación. La proporción de compresión debería mejorar a medida que la memoria caché se llene con más datos. Si se utiliza el 100% de la memoria caché y la antigüedad de la memoria caché es corta, indica que el dispositivo WAE puede tener un tamaño inferior al normal y no puede manejar el volumen de tráfico.
Si no ve una compresión DRE significativa, observe los contadores Nack/R-tx en la siguiente sección del resultado del comando:
Connection details:
Chunks: encoded 398832, decoded 269475, anchor(forced) 43917(9407) <-----In 4.3.3 and earlier only
Total number of processed messges: 28229 <-----In 4.3.3 and earlier only
num_used_block per msg: 0.053597 <-----In 4.3.3 and earlier only
Ack: msg 18088, size 92509 B <-----In 4.3.3 and earlier only
Encode bypass due to: <-----Encode bypass reasons
remote cache initialization: messages: 1, size: 120 B
last partial chunk: chunks: 482, size: 97011 B
skipped frame header: messages: 5692, size: 703 KB
Nacks: total 0 <-----Nacks
R-tx: total 0 <-----Retransmits
Encode LZ latency: 0.133 ms per msg
Decode LZ latency: 0.096 ms per msg
. . .
Los contadores Nacks y R-tx generalmente deben ser bajos en relación con el volumen de tráfico. Por ejemplo, aproximadamente 1 por cada 100 MB de tráfico original (no optimizado). Si observa recuentos significativamente mayores, podría indicar un problema de sincronización de caché de DRE. Utilice el comando clear cache dre para borrar la memoria caché DRE en todos los dispositivos, o póngase en contacto con el TAC.
Los contadores de razones de omisión de código informan el número de bytes omitidos debido a diversas razones. Esto puede ayudarle a determinar lo que está causando el tráfico de desvío (que no sea un patrón de datos no optimizable).
A veces es útil identificar los WAE de peer conectados y activos y observar las estadísticas de peer, lo que puede hacer con el comando show statistics peer dre de la siguiente manera:
WAE# sh stat peer dre
Current number of connected peers: 1
Current number of active peers: 1
Current number of degrade peers: 0
Maximum number of connected peers: 1
Maximum number of active peers: 1
Maximum number of degraded peers: 0
Active peer details:
Peer-No : 0 Context: 65027
Peer-ID : 00:14:5e:95:4a:b5
Hostname: wae7.example.com <-----Peer hostname
------------------------------------------------------------------------------
Cache: Used disk: 544 MB, Age: 14d23h <-----Peer cache details in 4.3.3 and earlier only
Cache: Used disk: 544 MB <-----Peer cache details in 4.4.1 and later only
Peer version: 0.4 <-----
Ack-queue size: 38867 KB |
Buffer surge control: |<---In 4.3.3 and earlier only
Delay: avg-size 0 B, conn: 0, flush: 0 |
Agg-ft: avg-size 20902 B, conn: 388, flush: 0 |
remote low-buff: 0, received flush: 0 <-----
Connections: Total (cumulative): 3226861, Active: 597
Concurrent Connections (Last 2 min): max 593, avg 575
. . .
Otro resultado de este comando muestra las estadísticas de codificación y descodificación similares a una conexión individual.