DESENVOLVIMENTO DE UM PORTAL WEBESCALÁVEL E DE ALTA PERFORMANCE COMPROCESSAMENTO E MEMÓRIA DISTRIBUÍDA                Helt...
Objetivo GeralProjetar e desenvolver a nova versão doPortal SETREM, de modo que sejaescalável, mantendo a performanceatrav...
Objetivos Específicos•  Estudar as ferramentas, fazer um piloto   a fim de avaliar como projetar o portal.•  Projetar a ar...
Objetivos Específicos•  Desenvolver a novo portal, e medir o   ganho de performance comparado com o   atual.   Helton Edua...
Objetivos Específicos•  Medir qual é o número de visualizações   de páginas que torna uma ou outra   abordagem mais adequa...
Delimitação do Tema•    Foco em escalabilidade e performance•    Servidores GNU/Linux•    LAMP + Gearman + Memcache•    No...
Problema    Portais que crescem em acessos &      complexidade dos algoritmos.                     X  Limitação da abordag...
O que então, e como seria umaarquitetura que permitisse ocrescimento de um portal em PHP, tantoem questões de código como ...
Aplicações de alta performance para web•  HPC no cotidiano das empresas;   Web como plataforma de aplicação  É preciso pen...
Memória e processamento distribuídoFazer pequenos blocos especializados emprocessamento de tarefas. Distribuir essesblocos...
GearmanFonte: Gearman, 2011       Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Fonte: ROTSAERT, 2011, p.40     Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
MemcacheFonte: Helton Eduardo2004 - heltonritter@gmail.com – Agosto de 2012       FITZPATRICK, Ritter
Fonte: ZMIEVSKI, p.10, 2010Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Lógica do app com MemcacheFonte: GALBRAITH, p.316, 2009    Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Hipóteses•  A abordagem do uso de Memcache e   Gearman resolve o gargalo dos vários   workers buscarem informações no mesm...
Fonte: ROTSAERT, 2011, p.40     Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Hipóteses•  Existe a possibilidade de setup automático   de um novo worker sem a necessidade de   parar serviços ou config...
Hipóteses•  Existem ferramentas de monitoramento   para saber o quanto os workers, servers   e clients estão ocupados, fac...
Hipóteses•  Para até 500 page views em 1 minuto, o   melhor tempo de resposta é na   abordagem sem processamento e   memór...
ResultadosHelton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
SETREM•    8 cursos técnicos, 1 na área de tecnologia;•    9 cursos superiores, 2 na área de tecnologia;•    95 computador...
Portal SETREM 2010Server 1 - Linux, Apache2, com PHP5, GD,FreeTDS, php5-mssql.Server 2 - Banco de dados SQL ServerServer 3...
Servidor•  Dell	  PowerEdge	  R210,	  com	  4	  processadores	     Intel	  Xeon	  Quad-­‐Core	  E3-­‐1220	  (3.10GHz,	  8M...
Portal propostoCom processamento e memória   distribuída e cacheada! Helton Eduardo Ritter - heltonritter@gmail.com – Agos...
Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Projeto piloto: Portal MobileFonte: DOTTO, 2012       Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Solução adotada   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Os dois nós workers, são laptops (Acer Aspire3100) executando Ubuntu Server 10.10 32bits, ambos processadores Sempron 3200...
Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Novo Layout                                                   Gilvan Ritter                          Novo	  Layout	       ...
Executando …Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Apenas em arquivos PHP Fonte: RITTER e SCHEPKE, 2012Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
•  Medindo o desempenho da solução com   Siege.•  Ambiente e condições dos testes.   Helton Eduardo Ritter - heltonritter@...
Número de transações atendidasX	  2.83	          Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Número de transações atendidas   X	  3.66	  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Número de transações atendidas              X	  3.25	  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Número de transações atendidas                          X	  3	  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de...
Número de transações atendidas                                   X	  3.47	  Helton Eduardo Ritter - heltonritter@gmail.com...
Número de transações atendidas                                            X	  9.87	  Helton Eduardo Ritter - heltonritter@...
Número de transações atendidas                                                                  X	  8.82	  Helton Eduardo ...
Disponibilidade em % conforme aconcorrência   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Tempo de resposta em segundos  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Taxa de transações por segundo conformea concorrência   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Transferência de dados em MB   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Concorrência, requisições aguardando resposta    Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Considerações finaisHelton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
•  E	  se	  um	  Gearman	  Server	  não	  for	  o	  suficiente	     para	  fazer	  a	  distribuição	  aos	  Workers?	      ...
Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
•  E	  se	  um	  Client	  (h1p	  server)	  não	  for	  suficiente?	         Helton Eduardo Ritter - heltonritter@gmail.com ...
Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
Conclusão	  •  Melhorias	  x	  escalabilidade;	  •  Ambiente	  criado	  para	  possibilitar	  crescer;	  •  Gerarman	  e	 ...
Conclusão	  •  Memcache	  e	  o	  acesso	  ao	  BD;	  •  Setup	  automá^co	  de	  novo	  worker;	  •  Ferramentas	  de	  m...
Conclusão	  •  Na	  arquitetura	  proposta	  a	  comunicação	  em	     rede	  foi	  minimizada.	  •  Quan^dade	  de	  códi...
Referências BibliográficasDOTTO,	  Ariel	  Ruguéri.	  Desenvolvimento	  do	  Portal	  Web	  SETREM	  na	  versão	  Mobile	...
Referências BibliográficasRITTER,	  Helton	  Eduardo,	  SCHEPKE,	  Claudio.	  Desenvolvimento	  de	  um	  portal	  web	  e...
Próximos SlideShares
Carregando em…5
×

Desenvolvimento de um Portal Web Escalável e de alta Performance comCOM PROCESSAMENTO E MEMÓRIA DISTRIBUÍDA

1.283 visualizações

Publicada em

Apresentação do TCC em sistemas de Informação pela Sociedade Educacional Três de Maio. Foco em aplicações web de alta performance e escaláveis através de processamento distribuído e memória.

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

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

Nenhuma nota no slide

Desenvolvimento de um Portal Web Escalável e de alta Performance comCOM PROCESSAMENTO E MEMÓRIA DISTRIBUÍDA

  1. 1. DESENVOLVIMENTO DE UM PORTAL WEBESCALÁVEL E DE ALTA PERFORMANCE COMPROCESSAMENTO E MEMÓRIA DISTRIBUÍDA Helton Eduardo Ritter Orientador: Ms. Claudio Schepke Agosto de 2012Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  2. 2. Objetivo GeralProjetar e desenvolver a nova versão doPortal SETREM, de modo que sejaescalável, mantendo a performanceatravés de processamento distribuído ememória distribuída e cacheada. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto 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 - heltonritter@gmail.com – Agosto de 2012
  4. 4. Objetivos Específicos•  Desenvolver a novo portal, e medir o ganho de performance comparado com o atual. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto 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 - heltonritter@gmail.com – Agosto de 2012
  6. 6. 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 - heltonritter@gmail.com – Agosto de 2012
  7. 7. Problema Portais que crescem em acessos & complexidade dos algoritmos. X Limitação da abordagem multicore em virtude do custo. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  8. 8. O que então, e como seria umaarquitetura que permitisse ocrescimento de um portal em PHP, tantoem questões de código como para atendermais usuários simultaneamente mantendo aperformance, criando um ambienteescalável a baixo custo. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  9. 9. Aplicações de alta performance para web•  HPC no cotidiano das empresas; Web como plataforma de aplicação É preciso pensar as aplicações web diferente! Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  10. 10. Memória e processamento distribuídoFazer pequenos blocos especializados emprocessamento de tarefas. Distribuir essesblocos em vários hosts.MPI, JAVA RMI, aLua, Sockets, JBOSS,Web Services, SOAP, REST … Não há umaferramenta, um padrão de fato. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  11. 11. GearmanFonte: Gearman, 2011 Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  12. 12. Fonte: ROTSAERT, 2011, p.40 Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  13. 13. MemcacheFonte: Helton Eduardo2004 - heltonritter@gmail.com – Agosto de 2012 FITZPATRICK, Ritter
  14. 14. Fonte: ZMIEVSKI, p.10, 2010Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  15. 15. Lógica do app com MemcacheFonte: GALBRAITH, p.316, 2009 Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  16. 16. 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 - heltonritter@gmail.com – Agosto de 2012
  17. 17. Fonte: ROTSAERT, 2011, p.40 Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  18. 18. 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 - heltonritter@gmail.com – Agosto de 2012
  19. 19. 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 - heltonritter@gmail.com – Agosto de 2012
  20. 20. Hipóteses•  Para até 500 page views em 1 minuto, o melhor tempo de resposta é na abordagem sem processamento e memória distribuída, sem cache em memória RAM, em função do custo computacional de distribuir o processamento e memória. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  21. 21. ResultadosHelton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  22. 22. SETREM•  8 cursos técnicos, 1 na área de tecnologia;•  9 cursos superiores, 2 na área de tecnologia;•  95 computadores em setores administrativos;•  50 em salas de aula + 50 datashows;•  224 distribuídos em 13 laboratórios + DS`s;•  A noite, juntam-se mais 500 notebooks a rede (levantamento de Nov. de 2011). Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  23. 23. Portal SETREM 2010Server 1 - Linux, Apache2, com PHP5, GD,FreeTDS, php5-mssql.Server 2 - Banco de dados SQL ServerServer 3 - Storage de imagensInfluenciado por Steve Souders (2007) “Altaperformance em sites web ”, Yahoo! Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  24. 24. Servidor•  Dell  PowerEdge  R210,  com  4  processadores   Intel  Xeon  Quad-­‐Core  E3-­‐1220  (3.10GHz,  8M   Cache,  Turbo/4T  (80W),    16  GB  de  RAM.  •   O  site  está  em  uma  máquina  virtual  (VMware   ESX  Server)    com  4  processadores   disponíveis,  e  3.5Gb  de  RAM.     Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  25. 25. Portal propostoCom processamento e memória distribuída e cacheada! Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  26. 26. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  27. 27. Projeto piloto: Portal MobileFonte: DOTTO, 2012 Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  28. 28. Solução adotada Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  29. 29. Os dois nós workers, são laptops (Acer Aspire3100) executando Ubuntu Server 10.10 32bits, ambos processadores Sempron 3200,um deles com 512Mb e outro com 1GB deRAM.O servidor principal (em verde) foi umamáquina virtual com 1 processador Core i52.4Ghz, 1 Gb de RAM, também executandoUbuntu Server. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  30. 30. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  31. 31. Novo Layout Gilvan Ritter Novo  Layout   10   100% feito em GimpHelton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  32. 32. Executando …Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  33. 33. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  34. 34. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  35. 35. Apenas em arquivos PHP Fonte: RITTER e SCHEPKE, 2012Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  36. 36. •  Medindo o desempenho da solução com Siege.•  Ambiente e condições dos testes. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  37. 37. Número de transações atendidasX  2.83   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  38. 38. Número de transações atendidas X  3.66  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  39. 39. Número de transações atendidas X  3.25  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  40. 40. Número de transações atendidas X  3  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  41. 41. Número de transações atendidas X  3.47  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  42. 42. Número de transações atendidas X  9.87  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  43. 43. Número de transações atendidas X  8.82  Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  44. 44. Disponibilidade em % conforme aconcorrência Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  45. 45. Tempo de resposta em segundos Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  46. 46. Taxa de transações por segundo conformea concorrência Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  47. 47. Transferência de dados em MB Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  48. 48. Concorrência, requisições aguardando resposta Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  49. 49. Considerações finaisHelton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  50. 50. •  E  se  um  Gearman  Server  não  for  o  suficiente   para  fazer  a  distribuição  aos  Workers?   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  51. 51. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  52. 52. •  E  se  um  Client  (h1p  server)  não  for  suficiente?   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  53. 53. Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  54. 54. Conclusão  •  Melhorias  x  escalabilidade;  •  Ambiente  criado  para  possibilitar  crescer;  •  Gerarman  e  Memcache  administram  a   heterogeneidade  do  hardware;   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  55. 55. Conclusão  •  Memcache  e  o  acesso  ao  BD;  •  Setup  automá^co  de  novo  worker;  •  Ferramentas  de  monitoramento;   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  56. 56. Conclusão  •  Na  arquitetura  proposta  a  comunicação  em   rede  foi  minimizada.  •  Quan^dade  de  código-­‐fonte  necessário   compensado  pela  arquitetura  adaptável.   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  57. 57. Referências BibliográficasDOTTO,  Ariel  Ruguéri.  Desenvolvimento  do  Portal  Web  SETREM  na  versão  Mobile  uOlizando  linguagem  de  programação  PHP.  Relatório  de  Estágio  Curricular  Supervisionado  Obrigatório,  Curso  Técnico  em  Informá^ca,  Sociedade  Educacional  Três  de  Maio  -­‐  SETREM,  2012.    FITZPATRICK,  Brad.  Distributed  Caching  with  Memcached.Disponível  em  <hmp://www.linuxjournal.com/ar^cle/7451>,    Linux  Journal,  2004.    GALBRAITH,  Patrick.  Developing  Web  ApplicaOons  with  Perl,  memcached,  MySQL  and  Apache.  Wiley  Publishing  inc.  Indianapolis,  2009.    Gearman.  Disponível  em  <hmp://gearman.org>,  acesso  em  31  Oct.  2011.   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012
  58. 58. Referências BibliográficasRITTER,  Helton  Eduardo,  SCHEPKE,  Claudio.  Desenvolvimento  de  um  portal  web  escalável  e  de  alta  performance  com  processamento  e  memória  distribuída.  Sistemas  de  Informação,  Faculdade  Três  de  Maio,  2012.      ROTSAERT,  Jayme.  An  insiders  view  on  how  to  build,  maintain  high  traffic  websites.  Canada-­‐Norway  Partnership  in  higher  educa^on  2011.Disponível  em  <hmp://www.slideshare.net/_jayme/an-­‐insiders-­‐view-­‐on-­‐how-­‐to-­‐build-­‐maintain-­‐high-­‐traffic-­‐websites>,  acesso  em  15  Mar.  2012.    ZMIEVSKI,  Andrei.  All  The  Lile  Pieces,  distributed  systems  with  PHP.  Dutch  PHP  Conference,  Amsterdam,  2009.  Disponível  em  <hmp://www.slideshare.net/andreizm/all-­‐the-­‐limle-­‐pieces-­‐1573862>  acesso  em  15  Mar.  2012.   Helton Eduardo Ritter - heltonritter@gmail.com – Agosto de 2012

×