BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Novo componente para Tomcat 7 permite reduzir drasticamente sessões abandonadas

Novo componente para Tomcat 7 permite reduzir drasticamente sessões abandonadas

O novo valve Crawler Session Manager para o Tomcat 7 pode ajudar muito os administradores de aplicações web públicas, nas quais o excesso de sessões é um problema complexo que frequentemente passa despercebido – pois é difícil distinguir usuários legítimos de robôs de busca e outros sistemas.

Mark Thomas, responsável pelo site de pendências da Apache Software Foundation (que usa o JIRA executando sobre o Tomcat 7), apresentou uma experiência interessante em seu blog:

Alguns meses atrás, ao examinar a interface de gerenciamento do JIRA, notei que havia aproximadamente 100 mil sessões concorrentes. Dado que existem apenas 60 mil usuários cadastrados e menos de 5 mil ativos por mês, o número me pareceu realmente exagerado.

A investigação do problema revelou um suspeito inusitado:

O log de acessos mostrou que quando os indexadores (ex.: googlebot, bingbot etc.) percorriam o site do JIRA, criavam uma nova sessão a cada requisição. Para nossa instância do JIRA, isso significava que 95% das sessões eram abandonadas pelos bots após uma requisição.

A mudança gerou resultados drásticos. Somente implementar a valve no Tomcat que hospeda o JIRA em issues.apache.org reduziu 20 vezes a média de sessões concorrentes, de cerca de 100 mil para 5 mil.

O que a valve Crawler Session Manager faz é não iniciar uma segunda sessão se o cabeçalho HTTP user-agent casar com uma expressão regular, que por padrão captura os buscadores mais conhecidos  (“*[bB]ot.*|.*Yahoo! Slurp.*|.*Feedfetcher-Google.*”). A configuração do valve permite que a lista seja estendida para outros buscadores e clientes que não gerenciam cookies, como é frequentemente o caso de clientes REST.

Além de implementar a especificação de Servlets 3.0, o novo Tomcat inclui funcionalidades importantes para o desenvolvimento de aplicações web públicas, como o filtro de proteção contra ataques Cross-Site Request Forgery (CSRF) e a detecção de vazamentos de memória. Para conhecer mais sobre estes componentes, visite o site oficial do projeto e a comunidade Tomcat Expert, que frequentemente publica detalhes sobre o funcionamento interno do Tomcat.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT