Apresentacao pré banca TCC em SI

4.343 visualizações

Publicada em

Sistemas web distribuídos, memória e processamento

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.343
No SlideShare
0
A partir de incorporações
0
Número de incorporações
722
Ações
Compartilhamentos
0
Downloads
31
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Apresentacao pré banca TCC em SI

  1. 1. DESENVOLVIMENTO DE UM PORTAL WEBESCALÁVEL E DE ALTA PERFORMANCE COMPROCESSAMENTO E MEMÓRIA DISTRIBUÍDA Helton Eduardo Ritter Orientador: MSc. Claudio Schepke Abril de 2012 Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  2. 2. Objetivo GeralProjetar e desenvolver a nova versão doPortal SETREM, de modo que sejaescalável, mantendo a performance atravésde processamento distribuído ememória distribuída e cacheada. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  3. 3. Objetivos Específicos• Estudar as ferramentas, fazer um piloto a fim de avaliar como projetar o portal.• Projetar a arquitetura do portal de maneira que faça uso de processamento e memória distribuída. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  4. 4. Objetivos Específicos• Desenvolver a novo portal, e medir o ganho de performance comparado com o atual. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  5. 5. Objetivos Específicos• Medir qual é o número de visualizações de páginas que torna uma ou outra abordagem mais adequada (sem cache e processamento distribuído versus com cache e processamento distribuído). Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  6. 6. Objetivos Específicos• Publicar em eventos e/ou periódicos científicos os resultados do teste piloto, e do resultado final. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  7. 7. Delimitação do Tema• Foco em escalabilidade e performance• Servidores GNU/Linux• LAMP + Gearman + Memcache• Novembro de 2011 a Agosto de 2012 Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  8. 8. Problema Portais que crescem em acessos + complexidade dos algoritmos. X Limitação da abordagem multicore em virtude do custo. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  9. 9. ProblemaO que então, e como seria uma arquitetura quepermitisse o crescimento de um portal em PHP,tanto em questões de código como paraatender mais usuários simultaneamentemantendo a performance, criando um ambienteescalável a baixo custo. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  10. 10. Hipóteses• A abordagem do uso de Memcache e Gearman resolve o gargalo dos vários workers buscarem informações no mesmo banco de dados. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  11. 11. Hipóteses• Existe a possibilidade de setup automático de um novo worker sem a necessidade de parar serviços ou configuração manual. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  12. 12. Hipóteses• Existem ferramentas de monitoramento para saber o quanto os workers, servers e clients estão ocupados, facilitando saber quando alocar ou desalocar um nó (seja ele worker, server ou client). Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  13. 13. Hipóteses• Para até 500 page views em 1 minuto, o melhor tempo de resposta é na abordagem sem processamento e memória distribuído, sem cache em memória RAM, em função do custo computacional de distribuir o processamento e memória. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  14. 14. ReferencialHelton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  15. 15. Aplicações de alta performancepara web• Antes: HPC  Ciência• Hoje: HPC  Cotidiano das empresas• Web como plataforma de aplicação É preciso pensar as aplicações web diferente! Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  16. 16. Memória e processamentodistribuído“These models assume that informationprocessing through the interactions of a largenumber of simple processing elements calledunits, each sending signals to other units”(MCCLELLAND, 1986, p.8). Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  17. 17. Memória e processamentodistribuídoMPI, JAVA RMI, aLua, Sockets, JBOSS, WebServices SOAP, REST … Não há uma ferramenta,um padrão de fato. GEARMAN & Memcache Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  18. 18. GearmanHelton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  19. 19. MemcacheHelton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  20. 20. Lógica do app com Memcache Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  21. 21. Medindo a performance da aplicação web Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  22. 22. SiegeSiege is an http load testing and benchmarkingutility. It was designed to let web developers measuretheir code under duress, to see how it will stand up toload on the internet. Siege supports basicauthentication, cookies, HTTP and HTTPS protocols. Itlets its user hit a web server with aconfigurable number of simulated webbrowsers. Those browsers place the server “undersiege” (FULMER, 2012). Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  23. 23. jMeterHelton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  24. 24. Resultados já obtidosHelton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  25. 25. Situação atual – Portal SETREM•Projeto de 2007, no ar desde 14/06/2010•Critério de classificação de conteúdo poráreas.•Papéis: visitante, usuário, revisor,administrador, tradutor. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  26. 26. Performance do portal atual• Com cada Nro de usuários concorrentes, feito 5 testes. Entre cada teste, reiniciado o servidor web.• Testes com o siege e com o jMeterVer gráficos - siege Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  27. 27. The Web Cofee Machine 2 MysqlDatabases• Client (gearman, memcache, view, controller)• Worker• Core, Action, Model, DB, Config• Ver figuras Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  28. 28. Piloto, portal Mobile• Implementado por Ariel Dotto, estagiário• Com banco SQL Server• Dezembro, Janeiro e início de Fevereiro.Ver figuras Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  29. 29. Layout• Desenhado em Fevereiro de 2012 por Gilvan Daniel Ritter, bolsista do CTI, usando algumas ideias de Leonardo de Almeida (bolsista do CTI, Nov. 2011). Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  30. 30. • Demonstração gearman + memcache• video Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  31. 31. Pendências• Escrever o HTML e CSS do layout – 16/04• Implementar a interface do visitante – 07/05• Fazer os testes de performance novamente – 12/05• Ver como monitorar e setup automático – 25/05• Continuar desenvolvimento na interface administrativa – 15/06 Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  32. 32. Pendências• Escrever artigo para FISL – 15/04• Trazer outras ferramentas em outras linguagens de programação cap2 – 30/04• Concluir relatório – 02/07 Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012
  33. 33. Referências BibliográficasFITZPATRICK, Brad. Distributed Caching with Memcached.Disponível em<http://www.linuxjournal.com/article/7451>, Linux Journal, 2004.GALBRAITH, Patrick. Developing Web Applications with Perl, memcached,MySQL and Apache. Wiley Publishing inc. Indianapolis, 2009.MINETTO, Elton Luís. Ao infinito e além com PHP, Memcached e Gearman.Disponível em <http://www.slideshare.net/eminetto/ao-infinito-e-alm-com-php-memcached-e-gearman>, 2010.ZMIEVSKI, Andrei. All The Little Pieces, distributed systems with PHP. DutchPHP Conference, Amsterdam, 2009. Disponível em<http://www.slideshare.net/andreizm/all-the-little-pieces-1573862> acessoem 15 Mar. 2012. Helton Eduardo Ritter - Trabalho de Estágio – Abril de 2012

×