Este artigo descreve como solucionar problemas do HTTP AO.
O acelerador HTTP otimiza o tráfego HTTP e HTTPS (na versão 4.3.1 e posterior) usando as seguintes técnicas:
Os recursos de cache de metadados HTTP, codificação de servidor e marcação de DRE podem ser configurados separadamente. O recurso de reutilização da conexão TCP está sempre ativo quando o HTTP AO está ativado e se aplica somente ao tráfego HTTP.
Você pode verificar a configuração e o status gerais do AO com os comandos show accelerator e show license, conforme descrito no artigo Troubleshooting Application Acceleration. A licença Enterprise é necessária para a operação do acelerador HTTP.
Em seguida, verifique o status específico do HTTP AO usando o comando show accelerator http, como mostrado na Figura 1. Você deseja ver que o HTTP AO está Habilitado, em Execução e Registrado e que o limite de conexão é exibido. Se o estado de configuração estiver ativado, mas o estado operacional estiver desativado, isso indica um problema de licenciamento. Para cada um dos recursos HTTP, o modo atual é mostrado (Usuário/Padrão) junto com o valor (Habilitado, Desabilitado ou valor configurado). Os itens Suprimir Codificação de Servidor e Metadatacache foram adicionados na versão 4.2.1, e os itens DRE Dicas e HTTPS Metadatacache foram adicionados na versão 4.3.1.
Para que o tráfego HTTPS seja otimizado pelos AOs SSL e HTTP, certifique-se de que um destes recursos opcionais esteja ativado: Cache de metadados HTTPS, codificação de servidor de supressão ou dicas DRE.
Use o comando show running-config para verificar se a política de tráfego HTTP/HTTPS está configurada corretamente e quais dos recursos estão ativados. Você deseja ver acelerar http para a ação do aplicativo Web e deseja ver as condições de correspondência apropriadas listadas para o classificador HTTP, da seguinte forma:
WAE674# sh run | include HTTP accelerator http suppress-server-encoding enable <----- in 4.2.1 and later accelerator http metadatacache https enable <----- in 4.3.1 and later accelerator http dre-hints enable <----- in 4.3.1 and later at least one of these must be enabled classifier HTTP classifier HTTPS name Web classifier HTTP action optimize full accelerate http <----- HTTP acceleration name Web classifier HTTPS action optimize DRE no compression none <----- HTTPS static policy applies to traffic not matching any SSL accelerated-services policy WAE674# sh run | begin HTTP ...skipping classifier HTTP match dst port eq 80 match dst port eq 8080 match dst port eq 8000 match dst port eq 8001 match dst port eq 3128 WAE674# sh run | begin HTTPS ...skipping classifier HTTPS match dst port eq 443 <----- add here any nondefault HTTPS port
Use o comando show statistics accelerator http para ver as seguintes estatísticas:
WAE674# sh stat accel http HTTP: Global Statistics ----------------- Time Accelerator was started: Tue Apr 6 06:04:06 2010 Time Statistics were Last Reset/Cleared: Tue Apr 6 06:04:06 2010 Total Handled Connections: 3743984 Total Optimized Connections: 3743984 Total Connections Handed-off with Compression Policies Unchanged: 0 Total Dropped Connections: 0 Current Active Connections: 48 Current Pending Connections: 0 Maximum Active Connections: 176 Total Time Saved (ms): 35584437 <-----Should be incrementing Current Active Connections Free For Fast Connection Use: 2 Total Connections Handed-off: 0 Total Connections Handed-off with Compression Policies Disabled: 0 Total Connections Handed-off to SSL: 0 Total Connection Hand-off Failures: 0 Total Fast Connection Successes: 3617244 <-----Should be incrementing Total Fast Connection Failures: 0 Maximum Fast Connections on a Single Connection: 100 Total CONNECT Requests with Incomplete Message: 0 Percentage of Connection Time Saved: 37 Total Round Trip Time For All Connections (ms): 4922767377 Total Fast Connections Initiated by Peer: 0 Total SYN Timeouts: 0 Total Time for Metadata Cache Miss (ms): 2 <-----Output from here is in 4.2.1 and later only RTT saved by Redirect Metadata Cache (ms): 5988 <-----Should be incrementing RTT saved by Authorization Redirect Metadata Cache (ms): 345 <-----Should be incrementing RTT saved by Content Refresh Check Metadata Cache (ms): 44987 <-----Should be incrementing Total Time Saved by Fast Connection Use (ms): 456 Total Locally Served Redirect Responses: 453 <-----Should be incrementing Total Locally Served Unauthorized Responses: 56 <-----Should be incrementing Total Locally Served Conditional Responses: 4932 <-----Should be incrementing Total Remotely Served Redirect Responses: 0 Total Remotely Served Unauthorized Responses: 0 Total Remotely Served Conditional Responses: 1 Total Requests with URL Longer than 255 Characters: 0 Total Requests with HTTP Pipelining: 0 Total Transactions Handled: 2 <-----Total number of HTTP transactions processed Total Server Compression Suppression: 1 <-----Total number of Accept-Encoding removed Total Requests Requiring Server Content-Revalidation: 0 Total Responses not to be Cached: 0 Total Connections Expecting Authentication: 0 Total Connections with Unsupported HTTP Requests: 0 Total Connections with Unsupported HTTP Responses: 0 Total Hints Sent to DRE Layer to Flush Data: 2 Total Hints Sent to DRE Layer to Skip LZ: 0 Total Hints Sent to DRE Layer to Skip Header Information: 1
Se o contador Total Time Saved na saída acima não estiver incrementando ou for bem pequeno, indica que o HTTP AO não está fornecendo muito benefício. Se o tempo total economizado por um dos três caches de metadados não estiver aumentando ou for bem pequeno, indica que o cache de metadados correspondente não está fornecendo muito benefício.
O contador Total Server Compression indica quantas vezes o cabeçalho Accept-Encoding foi removido, na tentativa de fornecer uma melhor compactação pelo dispositivo WAE. As Dicas totais enviadas aos contadores da camada DRE indicam quantas vezes cada uma das dicas DRE (Flush Data, Skip LZ, Skip Header) foi emitida para o módulo DRE, na tentativa de compactar melhor os dados.
Para exibir informações semelhantes do Central Manager na versão 4.2.1 e posterior, escolha o dispositivo WAE e escolha Monitor > Acceleration > HTTP Acceleration Report e escolha a guia Details para ver os seguintes gráficos:
Para ver as informações de depuração na análise do cabeçalho HTTP e nas condições de erro, use o comando show statistics accelerator http debug (em 4.3.1 e posterior) para determinar o seguinte:
Use o comando show statistics connection otimized http para verificar se o dispositivo WAAS está estabelecendo conexões HTTP otimizadas. Verifique se um "H" aparece na coluna Accel para conexões HTTP, o que indica que o HTTP AO foi usado, como a seguir:
WAE674# sh stat conn opt http Current Active Optimized Flows: 2 Current Active Optimized TCP Plus Flows: 2 Current Active Optimized TCP Only Flows: 0 Current Active Optimized TCP Preposition Flows: 0 Current Active Auto-Discovery Flows: 0 Current Active Pass-Through Flows: 0 Historical Flows: 100 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 5929 10.10.10.10:3446 10.10.100.100:80 00:14:5e:84:24:5f THDL <-------Look for "H"
Você pode verificar as estatísticas da conexão para conexões fechadas usando o comando show statistics connection closed http.
Para exibir informações semelhantes no Central Manager, escolha o dispositivo WAE e escolha Monitor > Otimização > Estatísticas de Conexões.
No relatório Estatísticas da conexão, o ícone do globo na coluna Política aplicada mostra que o HTTP AO foi usado para uma conexão. (Coloque o cursor sobre um ícone para ver seu significado.)
Você pode exibir as estatísticas da conexão HTTP usando o comando show statistics connection otimized http detail. Procure o contador de "conexões rápidas" na saída. Um valor positivo para esse contador significa que o HTTP AO beneficia os clientes reutilizando conexões persistentes, o que reduz a latência.
WAE674# show stat conn opt http detail Connection Id: 1496 Peer Id: 00:14:5e:84:24:5f Connection Type: EXTERNAL CLIENT Start Time: Wed Jul 15 05:09:52 2009 Source IP Address: 10.10.10.10 Source Port Number: 1760 Destination IP Address: 10.10.100.100 Destination Port Number: 80 Application Name: Web <-----Should see Web Classifier Name: HTTP <-----Should see HTTP Map Name: basic Directed Mode: FALSE Preposition Flow: FALSE Policy Details: Configured: TCP_OPTIMIZE + DRE + LZ Derived: TCP_OPTIMIZE + DRE + LZ Peer: TCP_OPTIMIZE + DRE + LZ Negotiated: TCP_OPTIMIZE + DRE + LZ Applied: TCP_OPTIMIZE + DRE + LZ Accelerator Details: Configured: HTTP <-----Should see HTTP configured Derived: HTTP Applied: HTTP <-----Should see HTTP applied Hist: None Original Optimized -------------------- -------------------- Bytes Read: 266 139160 Bytes Written: 82686 128 . . . HTTP : 1496 Time Statistics were Last Reset/Cleared: Wed Jul 15 05:09:52 2009 Total Bytes Read: 3269 56367 Total Bytes Written: 3269 56367 Total Bytes Buffered: 0 0 Total Internal Bytes Read: 92 Total Internal Bytes Written: 92 Bit Flags for I/O state: 1040 Internal object pointer: 2046823200 Fast connections: 11 <-----Reused connections . . .
(Esta seção se aplica somente à versão 4.3.1 e posterior.)
Use o comando show statistics accelerator http https para ver as seguintes estatísticas:
WAE674# sh stat accel http https HTTPS Statistics ----------------- Total Optimized HTTPS Connections: 10 <-----Should be incrementing Total Handled HTTPS Connections: 10 <-----Should be incrementing Total Active HTTPS Connections: 2 Total Proxy-Connect HTTPS Connections: 0 Total Proxy-Connect HTTPS Insert Failures: 0 RTT saved by HTTPS Content Refresh Check Metadata Cache - (ms): 44 <-----Should be incrementing RTT saved by HTTPS Redirect Metadata Cache - (ms): 10 <-----Should be incrementing RTT saved by HTTPS Authorization Required Metadata Cache - (ms): 5 <-----Should be incrementing Total Locally Served HTTPS Conditional Responses: 44 <-----Should be incrementing Total Locally Served HTTPS Redirect Responses: 10 <-----Should be incrementing Total Locally Served HTTPS Unauthorized Responses: 5 <-----Should be incrementing Total Remotely Served HTTPS Conditional Responses: 32 Total Remotely Served HTTPS Redirect Responses: 2 Total Remotely Served HTTPS Unauthorized Responses: 1 Total Hints Sent to DRE Layer to Skip Header Information - HTTPS: 121 Total Hints Sent to DRE Layer to Flush Data - HTTPS: 121 Total Hints Sent to DRE Layer to Skip LZ - HTTPS: 0 Total Server Compression Suppression - HTTPS: 110 Total Time Saved from all HTTPS metadata cache hits: 59 <-----Should be incrementing Total Time HTTPS Cache Miss: 4 Total HTTPS Requests Requiring Server Content-Revalidation: 32 Total HTTPS Responses not to be Cached: 0 Total HTTPS Connections Bypassed due to URL Based Bypass List: 0 Total HTTPS Connections Bypassed due to IP Based Bypass List: 0
Se o contador Total Time Saved na saída acima não estiver incrementando ou for bem pequeno, indica que o HTTP AO não está fornecendo muito benefício ao tráfego HTTPS. Se o tempo total economizado por um dos três caches de metadados não estiver aumentando ou for bem pequeno, indica que o cache de metadados correspondente não está fornecendo muito benefício.
O contador Total Server Compression indica quantas vezes o cabeçalho Accept-Encoding foi removido das solicitações HTTPS, em uma tentativa de fornecer uma melhor compactação pelo dispositivo WAE. As Dicas totais enviadas aos contadores da camada DRE indicam quantas vezes cada uma das dicas DRE (Flush Data, Skip LZ, Skip Header) foi emitida para o módulo DRE, na tentativa de compactar melhor os dados.
Para exibir informações semelhantes do Central Manager na versão 4.3.1 e posterior, escolha o dispositivo WAE e escolha Monitor > Acceleration > HTTPS Acceleration Report e escolha a guia Details para ver os seguintes gráficos:
Para ver as informações de depuração na análise e nas condições de erro do cabeçalho HTTPS, use o comando show statistics accelerator http debug para determinar o seguinte:
Use o comando show statistics connection otimized http para verificar se o dispositivo WAAS está estabelecendo conexões HTTPS otimizadas. Verifique se um "H" e um "S" aparecem na coluna Accel para conexões HTTPS, o que indica que os AOs HTTP e SSL foram usados, como a seguir:
WAE674# sh stat conn opt http Current Active Optimized Flows: 2 Current Active Optimized TCP Plus Flows: 2 Current Active Optimized TCP Only Flows: 0 Current Active Optimized TCP Preposition Flows: 0 Current Active Auto-Discovery Flows: 0 Current Active Pass-Through Flows: 0 Historical Flows: 100 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 5929 10.10.10.10:3446 10.10.100.100:80 00:14:5e:84:24:5f THSDL <-------Look for "H" and "S"
Você pode verificar as estatísticas da conexão para conexões fechadas usando os comandos show statistics connection closed http ou show statistics connection closed ssl.
Para exibir informações semelhantes no Central Manager, escolha o dispositivo WAE e escolha Monitor > Otimização > Estatísticas de Conexões.
No relatório Estatísticas da conexão, o ícone do globo na coluna Política aplicada mostra que o AO HTTP foi usado para uma conexão e o ícone de bloqueio indica que o AO SSL foi aplicado. (Coloque o cursor sobre um ícone para ver seu significado.)
Você pode exibir as estatísticas da conexão HTTPS usando os comandos show statistics connection otimized http detail e show statistics connection otimized ssl detail.
WAE674# show stat conn opt http detail Connection Id: 34 Peer Id: 00:14:5e:cd:9c:c9 Connection Type: EXTERNAL CLIENT Start Time: Thu Oct 28 14:47:56 2010 Source IP Address: 10.3.2.1 Source Port Number: 40829 Destination IP Address: 110.1.1.100 Destination Port Number: 443 Application Name: SSL <-----Should see SSL Classifier Name: HTTPS <-----Should see HTTPS Map Name: basic Directed Mode: FALSE Preposition Flow: FALSE Policy Details: Configured: TCP_OPTIMIZE Derived: TCP_OPTIMIZE Peer: TCP_OPTIMIZE Negotiated: TCP_OPTIMIZE + DRE + LZ Applied: TCP_OPTIMIZE + DRE + LZ Accelerator Details: Configured: None Derived: None Applied: HTTP,SSL <-----Should see HTTP and SSL applied Hist: None Original Optimized -------------------- -------------------- Bytes Read: 5162 21874 Bytes Written: 1977819 5108 Total Reduction Ratio: 98.639% HTTP : 34 Time Statistics were Last Reset/Cleared: Thu Oct 28 14:47:56 2010 Total Bytes Read: 4620 1972570 Total Bytes Written: 4620 1972570 . . .
SSL : 34 Time Statistics were Last Reset/Cleared: Thu Oct 28 14:47:56 2010 Total Bytes Read: 0 0 Total Bytes Written: 0 0 . . . Hostname in HTTP CONNECT: <------ the last three counters apply only to IP Address in HTTP CONNECT: Proxy Connect type of HTTPS connections TCP Port in HTTP CONNECT:
Para exibir o conteúdo dos três caches de metadados HTTP (redirecionar, condicional e não autorizado), use o comando show cache http-metadatacall. Somente o URL completo e a expiração (em segundos) são exibidos. Você também pode exibir o conteúdo de cada um dos três caches separadamente usando os seguintes comandos:
A saída típica dos comandos acima é a seguinte:
Redirect Cache Active entries: 1, Max Entries: 1500 URL: www.abcnews.com/, Expiration (sec): 3206 Conditional Cache Active entries: 6, Max Entries: 10500 URL: www.cisco.com/web/fw/i/quicklinks-rnd-corners.gif, Expiration (sec): 3594 URL: www.cisco.com/web/fw/i/hp-sprites.gif, Expiration (sec): 3594 URL: www.cisco.com/en/US/home/images/ba-actsGreen-logo.jpg, Expiration (sec): 3594 URL: www.cisco.com/en/US/home/images/fp-eos3.jpg, Expiration (sec): 3594 URL: www.cisco.com/en/US/home/images/fp-AP541n.jpg, Expiration (sec): 3594 URL: www.cisco.com/web/fw/c/home.min.css, Expiration (sec): 3592 Unauthorized Cache Active entries: 1, Max Entries: 3000 URL: l.yimg.com/index.html, Expiration (sec): 86393
Você pode limpar o conteúdo dos três caches com o comando clear cache http-metadatacache all.
Se quiser limpar o conteúdo de cada cache separadamente, você pode usar os seguintes comandos:
Se quiser especificar um URL a ser excluído, você pode usar o seguinte comando:
clear cache http-metadatacache {all|redirect |condicional|não autorizado} URL
Para exibir o número de entradas nos três caches de metadados HTTPS (redirecionamento, condicional e não autorizado), use o comando show cache http-metadatacache https. Ao contrário do comando correspondente para o cache de metadados HTTP, o URL e a hora de expiração não são exibidos. Você também pode exibir o número de entradas para cada um dos três caches separadamente usando os seguintes comandos:
A saída típica dos comandos acima é a seguinte:
HTTPS Redirect Cache Active HTTP entries: 0, Active HTTPS entries: 0 Max Entries: 3250 HTTPS Conditional Cache Active HTTP entries: 0, Active HTTPS entries: 11 Max Entries: 22750 HTTPS Unauthorized Cache Active HTTP entries: 0, Active HTTPS entries: 0 Max Entries: 6500
Você pode limpar o conteúdo dos três caches com o comando clear cache http-metadatacache https.
Se quiser limpar o conteúdo de cada cache separadamente, você pode usar os seguintes comandos:
Para respostas HTTP e HTTPS (na versão 4.3.1) 304, o cache de metadados honra todas as diretivas de Controle de Cache (Cache-Control: no-cache, no-store, private, must-revalidation, proxy-revalidation, max-age=0, Pragma: no-cache). Há uma opção para desabilitar essas verificações de Cache-Control, o que significa que todas as 304 respostas com cabeçalhos Cache-Control especificando que não há capacidade de cache são armazenadas em cache e todas as solicitações com cabeçalhos Cache-Control especificando que não há capacidade de cache podem ser atendidas do cache local.
Compreenda que desativar as verificações de controle de cache pode aumentar os benefícios do cache de metadados, pois alguns navegadores ou servidores Web podem ter uma opção padrão para incluir um cabeçalho de controle de cache em todas as respostas, a fim forçar a revalidação do objeto através do servidor original. Isso tornaria o cache de metadados ineficaz para respostas 304.
A opção pode ser controlada independentemente para solicitações HTTP/S (pesquisas de cache) e respostas (inserções de cache).
Para desativar as verificações de controle de cache em solicitações HTTP/S 304, use o seguinte comando:
WAE#accelerator http metadatacache request-ignore-no-cache enable
Esse comando força os metadatacache a ignorar todas as diretivas de Controle de Cache em solicitações HTTP/S 304. (A forma padrão [no] desse comando força os metadatacache a honrar todas as diretivas de Controle de Cache em solicitações HTTP/S 304.)
Para desativar as verificações de controle de cache nas respostas HTTP/S 304, use o seguinte comando:
WAE#accelerator http metadatacache response-ignore-no-cache enable
Esse comando força os metadatacache a ignorar todas as diretivas de Controle de Cache nas respostas HTTP/S 304. (A forma padrão [no] desse comando força os metadatacache a honrar todas as diretivas de Controle de Cache nas respostas HTTP/S 304.)
O cache de metadados homenageia os cabeçalhos Cache-Control para respostas 301 e 401. Se a resposta tiver algum dos cabeçalhos Cache-Control (sem cache, sem armazenamento, privado, must-revalidation, proxy-revalidation, max-age=0, Pragma: no-cache), não está em cache.
Há algumas exceções ao que é armazenado em cache. A inserção ou pesquisa do cache não ocorre quando o HTTP AO encontra uma das seguintes condições na solicitação/resposta HTTP/S sendo processada:
Os seguintes arquivos de log estão disponíveis para solução de problemas de HTTP AO:
Para facilitar a depuração, você deve primeiro configurar uma ACL para restringir pacotes a um host.
WAE674(config)# ip access-list extended 150 permit tcp host 10.10.10.10 any WAE674(config)# ip access-list extended 150 permit tcp any host 10.10.10.10
Para ativar o registro de transações, use o comando de configuração transaction-logs da seguinte maneira:
wae(config)# transaction-logs flow enable wae(config)# transaction-logs flow access-list 150
Você pode exibir o final de um arquivo de log de transações usando o comando type-tail da seguinte maneira:
wae# type-tail tfo_log_10.10.11.230_20090715_130000.txt Wed Jul 15 13:37:00 2009 :1529 :10.10.10.10 :2004 :10.10.100.100 :80 :OT :END :EXTERNAL CLIENT :(HTTP) :0 :0 :107 :117 Wed Jul 15 13:37:00 2009 :1529 :10.10.10.10 :1880 :10.10.100.100 :80 :SODRE :END :14357 :8406 :2181 :2761 :0 Wed Jul 15 13:38:19 2009 :1533 :10.10.10.10 :2008 :10.10.100.101 :135 :OT :START :EXTERNAL CLIENT :00.14.5e.84.24.5f :basic :Other :MS-EndPointMapper :F :(TFO) (TFO) (TFO) (TFO) (TFO) :<None> :(EPM) (EPM) (EPM) :<None> :<None> :0 :120 Wed Jul 15 13:38:19 2009 :1534 :10.10.10.10 :2009 :10.10.100.101 :1025 :OT :START :EXTERNAL CLIENT :00.14.5e.84.24.5f :uuide3514235-4b06-11d1-ab04-00c04fc2dcd2
Para configurar e ativar o registro de depuração do HTTP AO, use os seguintes comandos.
NOTE: O registro de depuração exige muito da CPU e pode gerar uma grande quantidade de saída. Use-o de forma inteligente e moderna em um ambiente de produção.
Você pode ativar o registro detalhado no disco:
WAE674(config)# logging disk enable WAE674(config)# logging disk priority detail
Você pode ativar o registro de depuração para conexões na ACL:
WAE674# debug connection access-list 150
As opções para a depuração HTTP AO (em 4.2.1 e posterior) são as seguintes:
WAE674# debug accelerator http ? all enable all HTTP accelerator debugs bypass-list enable HTTP bypass-list debugs cli enable HTTP CLI debugs conditional-response enable HTTP metadatacache conditional (304) response debugs connection enable HTTP connection debugs dre-hints enable HTTP dre-hints debugs metadatacache enable HTTP metadatacache debugs prefetch enable HTTP prefetch debugs redirect-response enable HTTP metadatacache redirect (301) response debugs shell enable HTTP shell debugs suppress-server-encoding enable HTTP suppress-server-encoding debugs transaction enable HTTP transaction debugs unauthorized-response enable HTTP auth-optimization debugs bugs
Você pode ativar o registro de depuração para conexões HTTP e, em seguida, exibir o fim do registro de erros de depuração da seguinte maneira:
WAE674# debug accelerator http connection WAE674# type-tail errorlog/httpao-errorlog.current follow