Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho

Bibliographic Details
Main Author: Fernandes, João Miguel Gonçalves
Publication Date: 2018
Format: Master thesis
Language: por
Source: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Download full: https://hdl.handle.net/1822/79752
Summary: Dissertação de mestrado em Engenharia Informática
id RCAP_e3423faa9861c0dd6be2cfb23675728a
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/79752
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenhoEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Engenharia InformáticaThis document describes the development of high performance Web applications using Django framework. Initially, the operation and usage mode of Django are introduced, as well as several Web applications’ latency reduction techniques. The work carried out fo cused on the design, implementation and performance optimization of a Web application, which consists of an article sharing system. The development process followed the Scrum methodology. During development, several technologies were explored, such as Memcached, Celery and Varnish, which enabled the implementation of certain performance optimi zation strategies. The latency of several operations was measured, before and after the application of optimization techniques, in order to ensure that one was moving in the right direction. The optimization of the application’s performance was performed at various le vels, including the transfer of content across the network and the backend services. HTTP caching, data compression and minification tecniques, as well as static content replication using Content Delivery Networks, were used. Partial update of the application’s pages on the front-end and asynchronous processing techniques were applied. The database utili zation was optimized by creating indexes and by taking advantage of a NoSQL solution. Memory caching strategies, with distinct granularities, were implemented to store templa tes and application objects. Furthermore, asynchronous task queues were used to perform some costly operations. All of the aforementioned techniques favorably contributed to the Web application’s latency decrease. Django only supports the application of some of these techniques, because it operates on the back-end. Since performance must be optimized at various levels, it was necessary to use other tools besides Django.Este documento descreve o desenvolvimento de aplicações Web de elevado desempenho com a framework Django. Inicialmente, apresenta-se o funcionamento e o modo de utiliza ção do Django, bem como diversas técnicas de diminuição da latência das aplicações Web. O trabalho realizado focou-se na conceção, implementação e otimização do desempenho de uma aplicação Web, que consiste num sistema de partilha de artigos. O processo de desenvolvimento seguiu a metodologia Scrum. Durante o desenvolvimento foram explo radas diversas tecnologias, tais como Memcached, Celery e Varnish, que possibilitaram a implementação de determinadas estratégias de otimização do desempenho. Realizaram-se medições da latência de diversas operações, antes e após a aplicação das estratégias de oti mização, para garantir que se caminhava no sentido correto. A otimização do desempenho da aplicação ocorreu a vários níveis, incluindo a transferência do conteúdo pela rede e os serviços de back-end. Utilizaram-se técnicas como o caching HTTP, bem como a compressão e minificação de informação e, ainda, a replicação de conteúdo estático utilizando Content Delivery Networks. Aplicaram-se técnicas de processamento assíncrono e atualização parcial das páginas da aplicação no front-end. Otimizou-se a utilização da base de dados, criando índices e tirando partido de uma solução NoSQL. Implementaram-se estratégias de caching em memória com granularidades distintas, para armazenar templates e objetos gerados pela aplicação. Recorreu-se ainda a filas assíncronas de tarefas para a realização de algumas operações custosas. Todas as técnicas mencionadas contribuíram favoravelmente para a di minuição da latência da aplicação Web. O Django apenas suporta a aplicação de algumas destas técnicas, já que opera no back-end. Como o desempenho deve ser otimizado a vários níveis, foi necessário recorrer a outras ferramentas para além do Django.Esteves, AntónioUniversidade do MinhoFernandes, João Miguel Gonçalves2018-12-122018-12-12T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/79752por203009037info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T04:57:56Zoai:repositorium.sdum.uminho.pt:1822/79752Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:03:54.669921Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
title Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
spellingShingle Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
Fernandes, João Miguel Gonçalves
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
title_full Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
title_fullStr Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
title_full_unstemmed Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
title_sort Utilização dos templates e modelos do Django para desenvolver aplicações web de elevado desempenho
author Fernandes, João Miguel Gonçalves
author_facet Fernandes, João Miguel Gonçalves
author_role author
dc.contributor.none.fl_str_mv Esteves, António
Universidade do Minho
dc.contributor.author.fl_str_mv Fernandes, João Miguel Gonçalves
dc.subject.por.fl_str_mv Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Engenharia Informática
publishDate 2018
dc.date.none.fl_str_mv 2018-12-12
2018-12-12T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/79752
url https://hdl.handle.net/1822/79752
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv 203009037
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595076402479104