Publicação

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

Ver documento

Detalhes bibliográficos
Resumo:This 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.
Autores principais:Fernandes, João Miguel Gonçalves
Ano:2018
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade do Minho
Idioma:português
Origem:RepositóriUM - Universidade do Minho
Descrição
Resumo:This 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.