Upload
tomas-mendosa
View
219
Download
3
Embed Size (px)
Citation preview
Performance em Web Services em Plataforma Java
Flávia Falcão - [email protected]
AgendaAgenda Contexto Proposta Conceitos Estudos de Casos Trabalhos Futuros Conclusão Referências
Contexto Web está em todo lugar :
E-marketplaces E-comerce B2B automatizado Interegracao de processos de negocio na web Compartilahamento de recursos , computacao distribuida
Necessidade de plataforma que permita interações aplicação-a-aplicação sistemática na web :
Tecnologia web servicesweb services
Problema : A performance dessas aplicaçõesProblema : A performance dessas aplicações
Proposta Identificar os problemas que afetam a
performance de aplicacões web services Fornecer boas práticas e tecnicas que
podem ser aplicadas para melhoria do desempenho destas aplicações
Conceitos
Web Services -Definição Um web services é qualquer serviço
disponível na Internet que utilize um sistema de mensagens XML padronizado e não seja especifico de nenhum sistema operacional ou linguagem de programação.
(Ethan Cerami – web services – Essentials)
Web Services Principais Componentes:
Descrição Serviço de Registros Mensagens SOAP Transporte sobre HTTP
Problemas de Performance em web services
O Maior Problema : XML XML é o coração da tecnologia web
services. Problemas :
Tamanho dos arquivos xml Marshalling e un-marshaling Tipo de dado Transmissao de mensagens SOAP Validação
Problemas comuns Fatores comuns a outras
aplicações web : Rede Garbage Collection Configurações da jvm Lógica da aplicacao Arquitetura do projeto
Boas Práticas e Técnicas para otimizar a performance em web services
Boas Praticas & Tecnicas Reduzir o tamanho do XML
Uso de zip/gzip Softwares proprios de compressao
Xml. Algortmos de compressão Uso de compressão binaria como
WBXML e o ASN.1
Boas Praticas & Tecnicas Web Services Caching Utilizar Parser XML mais eficiente Não validar o arquivo xml Uso de tipos simples em
mensagens XML
Estudo de Caso: Garbage Collection
Algoritmos de Garbage Collection Analisar os principais algoritmos
geracionais do garbage Collection da jvm 1.4.2 Copyng GC Mark sweep GC Parallel GC Concurrent mark sweep GC Incremental GC
Mecanismos disponiveis para otimizar seu desempenho Analise do comportamento da Heap da jvm
Testes Ambiente
Sistema operacional Linux Jsdk 1.4.2 J2eesdk 1.3 Jmeter Apache Web Application Stress Tools Aplicação de referência : PetStore 1.3
Resultados A diferença de desempenho entre a maioria
dos algoritmos geracionais foi pequena Porém o Algoritmo concurrent mark sweep
apresentou uma melhora muito grande chegando a picos de 100%. Isso se deveu ao pequenho tamanho da
heap,reduzindo a chamada ao garbage Algoritmo trabalhar bem em espaços
maduros
Estudo de Caso: Parser XML
Parsers XML Os parsers XML são responsaveis pelo
processamento de arquivos XML. A simples mudança pode prover
significativos ganhos de desempenho,considerendo que web servces sao baseados em XML.
Analise de varios fornecedores Parsers que implementam as APIs JAXP
1.0
Testes dos Parses XML Ambiente :
Sistema Operacional Solaris Jmeter Apache JVM 1.4 da sun Java Application server 7 Aplicacao web services exemplo
Parsers Utilizados , implementam a API JAXP 1.0: Xerces versao 1.4.4 Crinsom versao 1.1 Picollo versao 1.04 Gnu JAXP XP versao 1.0
Resultados Melhora de desempenho em torno
de 5% com o parser xml Picollo versao 1.04
Observação :A Aplicação de teste foi muito simples
Trabalhos Futuros Identificar os pontos exatos de
deficiência em parsers : Construção de benchmark
Utilizar modelos emergentes de XML binário : infoset
Otimização de código java e xml Combinar técnicas
Conclusão Metodologias em testes de cargas Analise de Resultados e busca das
melhores alternativas Dois artigos submetidos ao
JavaOne 2005 ( em processo de submissão)
Performance = profile + profile ......
Referencias (1) Wilson ,Steve e Kesselman ,Jeff (2001) “Java TM Platform
performance : Strategies and Tactics” .URL : http://java.sun.com/docs/books/performance/
Sun Microsystems(2003) .“Tuning Garbage Collection with the 1.4.2 Java TM Virtual Machine”.URL: http://java.sun.com/docs/hotspot/gc1.4.2/
Sun Microsystems(2002). “The Java HotSpot TM Virtual Machine ,v1.4.2, A technical white paper”
Sandoz, Paul; Pericas-Geetsen, Santiago; Kawaguchi, Kahuske; Hadley, Marc; Pelegri-Llopart, Eduardo (2003). “Fast Web Services” URL: http://java.sun.com/developer/technicalArticles/WebServices/fastWS ´
Performance em Web Services em Plataforma Java
Perguntas ???Perguntas ???