10 Maiores problemas de performance em aplicações Java EE

admin 3 de outubro de 2012 2
10 Maiores problemas de performance em aplicações Java EE

Acabei de ler um ótimo artigo sobre os maiores problemas de performance encontrados em aplicações Java EE. Segue o link: http://java.dzone.com/articles/top-10-causes-java-ee

Segue abaixo a lista dos problemas identificados:

# 1 – Falta de planejamento de capacidade adequada

O principal item de problemas de capacidade são falta de testes de carga e performance.

Problems observed Possible capacity planning gaps
A newly deployed application triggers an overload to the current Java Heap or Native Heap space (e.g., java.lang.OutOfMemoryError is observed). –        Lack of understanding of the current JVM Java Heap (YoungGen and OldGen spaces) utilization-        Lack of memory static and / or dynamic footprint calculation of the newly deployed application-        Lack of performance and load testing preventing detection of problems such as Java Heap memory leak
A newly deployed application triggers a significant increase of CPU utilization and performance degradation of the Java EE middleware JVM processes. –        Lack of understanding of the current CPU utilization (e.g., established baseline)-        Lack of understanding of the current JVM garbage collection healthy (new application / extra load can trigger increased GC and CPU)-        Lack of load and performance testing failing to predict the impact on existing CPU utilization
A new Java EE middleware system is deployed to production but unable to handle the anticipated volume. –        Missing or non-adequate performance and load testing performed-       Data and test cases used in performance and load testing not reflecting the real world traffic and business processes-        Not enough bandwidth (or pages are much bigger than capacity planning anticipated)

Para saber isto com antecedência devemos responder as seguintes questões:

  • Determine quanto usuários simultâneos / ordens volumes a sua candidatura (s) pode suportar
  • Exponha a sua plataforma e gargalos de aplicações Java EE, o que lhe permite tomar ações corretivas (middleware afinação, mudança de código, a melhoria da infra-estrutura e capacidade, etc)

# 2 – Especificação de ambiente de de middleware Java EE inadequado

Alguns dos problemas como descritos são:

Deployment of too many Java EE applications in a single 32-bit JVM

    • Deployment of too many Java EE applications in a single middleware domain
    • Lack of proper vertical scaling and under-utilized hardware (e.g., traffic driven by one or just a few JVM processes)
    • Excessive vertical scaling and over-utilized hardware (e.g., too many JVM processes vs. available CPU cores and RAM)
    • Lack of environment redundancy and fail-over capabilities

#3 – Garbage collection da JVM executando várias vezes

 

 

# 4 – Sistemas muito integrados ou integração pobre com sistemas externos

 

 

#5 – Problemas de Tunning SQL e planejamento de capacidade de Bancos de dados

 

 

#6 – Application specific performance problems

Thread safe code problems

Lack of communication API timeouts

I/O, JDBC or relational persistence API resources management problems

Lack of proper data caching

Excessive data caching

 Excessive logging

 

 

#7 – Java EE middleware tuning problems

 

#8 – Insufficient proactive monitoring

Entender o sistema, como java trabalha e como a aplicação deve funcionar é muito importante para realizar monitoração proativa do sistema. Segue abaixo as recomendações do autor:

  • Review your current Java EE environment monitoring capabilities and identify improvement opportunities.
  • Your monitoring solution should cover the end-to-end environment as much as possible; including proactive alerts.
  • The monitoring solution should be aligned with your capacity planning process discussed in our first section.

 

#9 – Saturated hardware on common infrastructure

 

 

#10 – Network latency problems

 

 

Para saber mais acesse o artigo disponível em:

http://java.dzone.com/articles/top-10-causes-java-ee

2 Comentários »

  1. Jade 4 de outubro de 2012 de 11:52 am - Reply

    Mew, este mundo do java é muito novo pra mim e fico bem feliz em achar matérias que servem para compreender melhor tudo isso. Procurei a Impacta para fazer um curso e queria saber se é bom o ensido de lá.

    Beijoos

    • thiago 8 de outubro de 2012 de 12:00 pm - Reply

      Jade, conheço um amigo que fez o curso na impacta e gostou. não sei muito sobre a grade e tudo mais porém ele nunca falou nada de ruim.. Já entrou no site deles? lá tem algumas informações, você deverá entender melhor sobre o como eles estruturam o curso!

Deixe uma resposta »