Name: | Description: | Size: | Format: | |
---|---|---|---|---|
DM_ArmindoPereira_MEI_2011 | 2.92 MB | Adobe PDF |
Authors
Abstract(s)
A performance das aplicações Web é um tópico extremamente importante. Estudos
indicam que 37% a 49% dos utilizadores que sofrem de problemas de performance
abandonam o site ou mudam para sites da concorrência. Destes, 77% partilham a sua
experiência com outros prejudicando ainda mais a reputação da empresa. Para além do
impacto na reputação há o impacto financeiro. Por exemplo um relatório tornado público
recentemente indica que 100 milisegundos de perda de latência no acesso á Amazon
contribui para uma quebra de 1% nas vendas.
Considerando o papel das aplicações Web para o negócio das empresas, é vital
adoptar um conjunto de boas práticas ao nível da programação e ao nível da infra-estrutura
de forma a garantir um bom desempenho da aplicação e consequentemente a satisfação
dos utilizadores. São já vários os trabalhos feitos na área da optimização e análise de
performance das aplicações Web. No entanto, e considerando a complexidade inerente às
aplicações, envolvendo inúmeros componentes, tipos de workload dinâmicos e constantes
mudanças ao nível do software e infra-estrutura torna-se difícil garantir os seus níveis de
desempenho de forma constante.
Neste trabalho foca-se particularmente as questões de infra-estrutura que visam
melhorar a performance das aplicações Web. O caso em estudo contempla técnicas como o
balanceamento de carga, caching de conteúdo estático e caching de conteúdo dinâmico.
Estas técnicas foram comparadas para avaliar o seu impacto na performance das
aplicações Web. O tipo de aplicações Web escolhido foram os Content Management
Systems - CMS. Para o processo de avaliação foi criado um ambiente de testes e utilizadas
ferramentas que permitem a simulação de vários utilizadores a utilizar a aplicação. Por teste
foi feita a recolha de dados que permite avaliar o nível de desempenho de cada uma das
técnicas de forma individual e ainda o desempenho resultante da combinação entre as
mesmas. As conclusões quer ao nível do esforço para adoptar as diferentes técnicas e o
ganho de performance obtido por cada uma são interessantes e apresentadas ao longo do
trabalho.
The performance of Web applications is topic of great relevance. Reports of the field indicate a straight relationship between the Web application performance and the profit and image of the companies. Recent studies, suggest that 37% to 49% of the users that experience slow response times while interacting with Web application will switch to competitors or abandon the site. Some of these will also share their negative experience with others. Besides the diminished reputation, the revenue impact is also considerable. According to a recent presentation a delay of just 100ms in the response time of Amazon web site corresponds to a reduction of 1% in sales. Considering such negative impacts it is mandatory to adopt good practices of both: programming and infrastructure. Although, and considering the complexity behind applications this is a challenge task. Nowadays, applications involve multiple components provided by different entities, are subject of regular updates and different usage patterns. Such characteristics difficult the appropriate evaluation of the applications before they are deployed into production emphasizing the risk of performance issues. In this project we compare different techniques applied at the infrastructure level. We adopted CMS applications and have compared the different techniques - load balancing, caching of static and dynamic content - to access their advantage in terms of performancegain. All the tests were done using a test-bed environment conveniently prepared. The user requests are simulated from a real user usage capture. For each technique is captured and evaluated the response time experienced by the end-user and the number of requests attended by the web server per unit of time. A combination of techniques is also discussed. The type of analysis and evaluation provided in this report is important to understand which sort of techniques contributes to improve the performance results considering the requests type and also provide IT staff with some techniques to pragmatically reduce the response time that some users may experience while interacting with the Web applications.
The performance of Web applications is topic of great relevance. Reports of the field indicate a straight relationship between the Web application performance and the profit and image of the companies. Recent studies, suggest that 37% to 49% of the users that experience slow response times while interacting with Web application will switch to competitors or abandon the site. Some of these will also share their negative experience with others. Besides the diminished reputation, the revenue impact is also considerable. According to a recent presentation a delay of just 100ms in the response time of Amazon web site corresponds to a reduction of 1% in sales. Considering such negative impacts it is mandatory to adopt good practices of both: programming and infrastructure. Although, and considering the complexity behind applications this is a challenge task. Nowadays, applications involve multiple components provided by different entities, are subject of regular updates and different usage patterns. Such characteristics difficult the appropriate evaluation of the applications before they are deployed into production emphasizing the risk of performance issues. In this project we compare different techniques applied at the infrastructure level. We adopted CMS applications and have compared the different techniques - load balancing, caching of static and dynamic content - to access their advantage in terms of performancegain. All the tests were done using a test-bed environment conveniently prepared. The user requests are simulated from a real user usage capture. For each technique is captured and evaluated the response time experienced by the end-user and the number of requests attended by the web server per unit of time. A combination of techniques is also discussed. The type of analysis and evaluation provided in this report is important to understand which sort of techniques contributes to improve the performance results considering the requests type and also provide IT staff with some techniques to pragmatically reduce the response time that some users may experience while interacting with the Web applications.
Description
Keywords
Aplicações Web Balanceamento de carga CMS Caching Escalabilidade Performance