Improving the Latency of Python-based Web Applications

António Esteves, João Fernandes

2019

Abstract

This paper describes the process of optimizing the latency of Python-based Web applications. The case study used to validate the optimizations is an article sharing system, which was developed in Django. Memcached, Celery and Varnish enabled the implementation of additional performance optimizations. The latency of operations was measured, before and after the application of the optimization techniques. The optimization of the application was performed at various levels, including the transfer of content across the network and the back-end services. HTTP caching, data compression and minification techniques, 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 utilization was optimized by creating indexes and by taking advantage of a NoSQL solution. Memory caching strategies, with distinct granularities, were implemented to store templates 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. Since Django operates on the back-end, and optimizations must be implemented at various levels, it was necessary to use other tools.

Download


Paper Citation


in Harvard Style

Esteves A. and Fernandes J. (2019). Improving the Latency of Python-based Web Applications.In Proceedings of the 15th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-386-5, pages 193-201. DOI: 10.5220/0007959401930201


in Bibtex Style

@conference{webist19,
author={António Esteves and João Fernandes},
title={Improving the Latency of Python-based Web Applications},
booktitle={Proceedings of the 15th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2019},
pages={193-201},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0007959401930201},
isbn={978-989-758-386-5},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 15th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - Improving the Latency of Python-based Web Applications
SN - 978-989-758-386-5
AU - Esteves A.
AU - Fernandes J.
PY - 2019
SP - 193
EP - 201
DO - 10.5220/0007959401930201