Document details

Técnicas para melhoria de performance em aplicações CMS

Author(s): Pereira, Armindo Carlos Martins

Date: 2011

Persistent ID: http://hdl.handle.net/10400.22/11100

Origin: Repositório Científico do Instituto Politécnico do Porto

Subject(s): Aplicações Web; Balanceamento de carga CMS; Caching; Escalabilidade; Performance; Informática; Informática; Informática


Description

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.

Document Type Master thesis
Language Portuguese
Advisor(s) Costa, Ricardo André Fernandes; Magalhães, João Paulo Ferreira de
Contributor(s) Pereira, Armindo Carlos Martins
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents