performance em web services em plataforma java flávia falcão - fmcf2@cin.ufpe.br

Post on 07-Apr-2016

219 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Performance em Web Services em Plataforma Java

Flávia Falcão - fmcf2@cin.ufpe.br

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 ???

top related