Lar Finanças Pessoais Analisando desempenho em Enterprise JavaBeans - dummies

Analisando desempenho em Enterprise JavaBeans - dummies

Vídeo: Módulo EJB - Aula 01 - Introdução e configuração do ambiente 2024

Vídeo: Módulo EJB - Aula 01 - Introdução e configuração do ambiente 2024
Anonim

Analisar o desempenho é provavelmente uma das tarefas mais complexas na concepção de qualquer aplicativo. É uma ciência imprecisa porque existem muitos fatores que entram em jogo. Estes são aumentados em aplicativos Enterprise JavaBeans (EJB), onde o desempenho depende em grande parte da implementação do contêiner EJB que você usa. A linha inferior é que você não pode saber se está fazendo as decisões de desempenho corretas até testá-las.

Seguem-se alguns problemas que você deve ter em mente ao considerar problemas de desempenho:

  • Nem todos os contêineres EJB são criados iguais. Enquanto cada recipiente EJB deve estar em conformidade com a especificação EJB, os fornecedores têm ampla latitude na implementação do contêiner EJB. Seus requisitos se concentram nos resultados das operações, não na eficiência de uma operação. Alguns fornecedores irão fazer um trabalho melhor com diferentes porções de um contêiner EJB. Você deve determinar onde as eficiências podem ser obtidas em um contêiner EJB e onde os gargalos do desempenho ocorrerão. A única maneira de saber com certeza é tentar antes de comprar. Mesmo depois de comprar uma solução, as principais decisões de design, como usar ou não os beans de entidade EJB, devem ser testadas.
  • O desempenho pode depender da eficiência da sua aplicação. Existem regras gerais que você pode usar para ajudar a determinar quais projetos de aplicativos são melhores do que outros. Mas essas diretrizes podem ser facilmente invalidadas com uma implementação desleixada. A melhor maneira de garantir que você evite implementações desleixadas é realizar avaliações de código regulares - é quando você se senta com todos os seus colegas de codificação e faça com que revisem seu trabalho - durante seu projeto EJB. Você deve focar suas avaliações de código em analisar a fonte e garantir que seja bem projetado e eficiente. As revisões de código oferecem uma ótima oportunidade para os programadores aprenderem uns com os outros.
  • Desenvolva um protótipo para testar seus pressupostos de desempenho. Aqui está um cenário de exemplo. Como um desenvolvedor de aplicativos EJB, você deve decidir antecipadamente se deve ou não usar beans de entidade para gerenciar a interação com um banco de dados. Suas duas opções básicas são

Criar beans de entidade para gerenciar a interação do banco de dados. Entity beans podem simplificar a interação do banco de dados a partir de uma perspectiva de programação de aplicativos. Mas eles também podem exigir uma penalidade de desempenho. Algumas dessas penalidades podem ser controladas da maneira que você implementa beans de entidade - ou seja, usando interfaces locais versus interfaces remotas ou fazendo beans de entidade de grãos grosseiros.

O código de banco de dados JDBC chama diretamente em beans de sessão e evita o uso de beans de entidade completamente. O JDBC pode ser mais difícil de trabalhar do que usar beans de entidade com persistência gerenciada por contêiner. Este curso também pode prejudicar sua capacidade de aproveitar as transações gerenciadas por contêiner EJB.

Para determinar qual dos dois cursos é mais apropriado, você pode executar um teste simples:

1. Crie um bean de entidade e um bean de sessão que executem operações no mesmo conjunto de dados de um banco de dados.

2. Escreva um programa simples que mede o tempo necessário para invocar um conjunto de inserções, atualizações, consultas e alterações no banco de dados.

Este segundo programa deve invocar o bean de sessão para um teste e o bean de entidade para outro teste - executando o mesmo conjunto de operações em cada um.

3. Analise os resultados para determinar se o desempenho será um problema.

Se você quer uma análise de desempenho mais fino, você pode escalar etapas individuais - para identificar a operação mais cara - e depois tentar modificar essas operações para gerar ganhos de desempenho.

Para um bean de entidade, você pode querer medir o desempenho nas seguintes operações:

  • Quanto tempo demora para obter uma referência para uma interface remota ou uma interface local?
  • Qual a diferença de desempenho entre executar uma atualização em uma interface remota e uma interface local?
  • Qual a diferença entre atualizar várias linhas em um banco de dados no JDBC e executar uma atualização em várias linhas usando o método de casa de um bean de entidade?

As respostas a essas perguntas serão diferentes do contêiner EJB para o contêiner EJB e também serão influenciadas por: a) o driver JDBC que você escolher; b) se você usa ou não o pool de conexão de banco de dados; e c) a eficiência das suas implementações do bean da entidade e do bean de sessão. Você provavelmente ficará surpreso com alguns dos resultados obtidos - testes como estes têm uma maneira de desafiar seus pressupostos sobre o desempenho dos beans de entidade.

Quando você está ajustando um EJB para desempenho, não faça alterações aleatórias. Em vez disso, concentre sua atenção nas etapas da aplicação que mais custam em termos de desempenho.

Nota: As medidas de desempenho geralmente revelam que um processo de negócios tem apenas um ou dois pontos, onde melhorias significativas podem ser feitas. Esta observação foi feita com bastante frequência que levou à criação da regra Pareto 80-20. Essa regra afirma que 80 por cento do tempo de execução de um programa é devido a 20 por cento do código. Seu objetivo deve ser identificar quais 20 por cento do código são mais caros em termos de recursos do sistema e se concentrar em otimizar essa parcela.

Analisando desempenho em Enterprise JavaBeans - dummies

Escolha dos editores

Acalma suas emoções ao praticar Mindfulness - dummies

Acalma suas emoções ao praticar Mindfulness - dummies

Aqui, você descobre a maneira consciente de gerenciar as emoções - as etapas para tome quando estiver sentindo baixo, excessivamente irritado ou desconfortavelmente ansioso. As emoções positivas podem ser um sentimento maravilhoso. A alegria, a alegria, a emoção e a felicidade são perfeitas. Mas como você pode lidar com as chamadas emoções negativas? Use a atenção para a saúde emocional A atenção plena está se tornando ...

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Como começar o seu dia de trabalho com meditação Mindfulness - dummies

Você pode encontrar a meditação mindfulness é uma ótima maneira de Comece o seu dia de trabalho. Quando chegar ao trabalho pela manhã, talvez já esteja estressado. Depois de uma agitada hora ou duas preparando as crianças para a escola ou regatear com seu parceiro ou lidar com alguma emergência em casa, seguido de ...

Os melhores sites Mindfulness - dummies

Os melhores sites Mindfulness - dummies

, Independentemente de você morar no Reino Unido ou em outro lugar, se você procurar "mindfulness" 'on-line, você literalmente obterá milhões de resultados. Como você pode dizer o trigo da palha? Aqui estão alguns sites que você achará útil. Atento. Este recurso maravilhoso tem muitos conteúdos de alta qualidade de professores excelentes de atenção plena. O ...

Escolha dos editores

HDR Solução de problemas: Nada está funcionando - manequins

HDR Solução de problemas: Nada está funcionando - manequins

Quando você se depara com uma situação com suas fotografias de alcance dinâmico elevado e parece que nada que você está fazendo está funcionando - as configurações não parecem boas, a imagem parece errada, os efeitos são ruins - relaxe e faça uma pausa. A imagem está lhe dizendo algo. Que algo às vezes é relacionado a forçar ...

HDR Resolução de problemas: falta de imaginação - dummies

HDR Resolução de problemas: falta de imaginação - dummies

A imaginação é uma coisa poderosa ao preparar imagens HDR, fato que é tornou-se mais óbvio quando você vê o resultado de não usá-lo versus usá-lo. A imagem superior desta figura é uma imagem HDR de um diner local durante a "hora dourada" - naquele horário atrasado (ou manhã) quando ...

HDR Solução de problemas: Sharpening - dummies

HDR Solução de problemas: Sharpening - dummies

Se você ficar apanhado na perfeição, você está preparado para aumentar seu HDR imagens. Os fotógrafos às vezes estão obcecados com a nitidez em suas fotos. Eles querem que tudo seja pixelly perfeitamente afiado do nariz da câmera até o infinito, independentemente da lente, abertura, ISO ou velocidade do obturador que eles usem. Esta figura mostra os resultados ...

Escolha dos editores

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Cisco Rede: Mostrar comando de versão em um Switch - dummies

Em qualquer componente de rede da Cisco, o show O comando de versão é aplicável a qualquer hardware usando o Sistema Operacional Cisco IET (Internetwork Operating System), incluindo switches. O comando show version mostra informações ligeiramente diferentes, de acordo com o tipo de dispositivo em que você usa. Veja a saída do comando show version em um switch e ...

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Cisco Rede: Modo de operação EXEC privilegiado - manequins

Você precisa usar o modo EXEC privilegiado se quiser realmente tem acesso de atualização a um sistema de rede Cisco,. Para entrar neste modo no modo EXEC do usuário, emita o comando enable, que solicita uma senha, se configurado. Como o nome do modo sugere, este modo tem privilégios extras para permitir ...

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Cisco Rede: Configuração de Senha de Shell Seguro (SSH) - manequins

Shell seguro (SSH) é um protocolo de rede para seus dispositivos Cisco, que é mais seguro do que o Telenet. Definir uma senha segura é um requisito de configuração para este protocolo. Para configurar o acesso a um switch Cisco para SSH, você precisará ter uma conta de usuário criada em sua opção. O exemplo supõe que você tenha ...