Ola pessoal,Trabalhando com melhoria de performance de aplicacoes a algum tempo verificamos algumas mudancas que podem ser aplicadas no servidor de aplicacao e que surtem efeito na aplicacao como um todo. Entre estas melhorias uma que e uma opcao para aplicacoes que utilizam servidores como o Tomcat e o JBoss e a utilizacao do Apache Tomcat Native Library (APR).O Apache Tomcat Native Library e um JNI (Java Native Interface) que prove grande parte das funcionalidades do Tomcat em codigo nativo ao inves de utilizar Bytecode Java. Isto na pratica significa maior velocidade da aplicacao, uma melhor escalabilidade e melhor integracao com os servicos nativos da maquina. Por default o Tomcat nao vem com o APR ja compilado e aplicado a distribuicao, pois isto tornaria o servidor dependente de plataforma, mas sua utilizacao e bastante recomendavel em ambientes de producao.Entre as vantagens de sua utilizacao temos acesso a funcionalidades avancadas de IO (SendFile, Epoll e OpenSSL), funcionalidades do sistema operacional (Geracao aleatoria de numeros, status do sistema, etc.) e acesso a processos nativos (Memoria compartilhada, NT pipes e Sockets).Quando o APR nao esta instalado vemos o seguinte log no servidor de aplicacao:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.pathPara instala-lo utilize os passos descritos em http://tomcat.apache.org/tomcat-6.0-doc/apr.html ou em http://www.liferay.com/web/guest/community/wiki/-/wiki/Main/Tomcat+Native+Library.Assim que ele estiver instalado vemos o seguinte trecho no log do Tomcat:INFO: Loaded APR based Apache Tomcat Native library 1.1.16.Realizar os testes para verificar o quanto melhorou no desempenho da aplicacao e um processo um pouco complicado, pois algumas operacoes podem ser mais beneficiada que outras. Em algumas referencias vimos um ganho de ate 10% na performance da aplicacao em geral, mas realmente e um teste dificil de ser realizado.Em um teste bem curto que fiz verificamos as seguintes medicoes apenas do tempo de startup do servidor sem e com a API nativa tive os seguintes resultados:Tempos sem lib native:2125 ms2155 ms2113 msTempos com lib native:1913 ms1984 ms1985 msVimos entao um ganho que se aproxima de 10% apenas para o startup do servidor.E isto ai pessoal. Espero que isto ajude quem necessita otimizar a performance das aplicacoes.Quaisquer problemas avisem... Como regra geral segundo Jakob provavelmente voce nao precisara de um sistema de pesquisas se seu site tiver ate 100 paginas. Se seu sistema tem de 100 a 1000 paginas, voce precisara apenas de um sistema de busca simples. Acima de 1000 paginas e necessario realmente se investir em um bom sistema de pesquisa.Na navegacao de paginas se perceberam que embora alguns usuarios tenham optado por utilizar os sistemas de busca, outros preferiram utilizar os links navegacionais. E importante entao seu site prover suporte aos dois tipos de acesso, para que seu site possa ter uma grande quantidade de usuarios.Existe uma lista de razoes que fazem com que o usuario tenha a expectativa de que o seu sistema de busca acerte mais do que sites como o Google ou Yahoo. Entre estas razoes podemos citar:Quantidade de informacoes em seu site e menor que a quantidade de informacoes de toda a web.O contexto e