Publicação
Improving the latency of Python-based web applications
| Resumo: | 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 tem plates 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 |
|---|---|
| Autores principais: | Esteves, António |
| Outros Autores: | Fernandes, João |
| Assunto: | Web Performance Optimization Latency Web Application Django Python Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| Ano: | 2019 |
| País: | Portugal |
| Tipo de documento: | comunicação em conferência |
| Tipo de acesso: | acesso aberto |
| Instituição associada: | Universidade do Minho |
| Idioma: | inglês |
| Origem: | RepositóriUM - Universidade do Minho |
| _version_ | 1867439750385762304 |
|---|---|
| author | Esteves, António |
| author2 | Fernandes, João |
| author2_role | author |
| author_facet | Esteves, António Fernandes, João |
| author_role | author |
| contributor_name_str_mv | RepositóriUM - Universidade do Minho |
| country_str | PT |
| creators_json_txt | [{\"Person.name\":\"Esteves, António\"},{\"Person.name\":\"Fernandes, João\"}] |
| datacite.contributors.contributor.contributorName.fl_str_mv | RepositóriUM - Universidade do Minho |
| datacite.creators.creator.creatorName.fl_str_mv | Esteves, António Fernandes, João |
| datacite.date.Accepted.fl_str_mv | 2019-01-01T00:00:00Z |
| datacite.date.available.fl_str_mv | 2021-03-10T16:42:17Z |
| datacite.date.embargoed.fl_str_mv | 2021-03-10T16:42:17Z |
| datacite.rights.fl_str_mv | http://purl.org/coar/access_right/c_abf2 |
| datacite.subjects.subject.fl_str_mv | Web Performance Optimization Latency Web Application Django Python Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| datacite.titles.title.fl_str_mv | Improving the latency of Python-based web applications |
| dc.contributor.none.fl_str_mv | RepositóriUM - Universidade do Minho |
| dc.creator.none.fl_str_mv | Esteves, António Fernandes, João |
| dc.date.Accepted.fl_str_mv | 2019-01-01T00:00:00Z |
| dc.date.available.fl_str_mv | 2021-03-10T16:42:17Z |
| dc.date.embargoed.fl_str_mv | 2021-03-10T16:42:17Z |
| dc.format.none.fl_str_mv | application/pdf |
| dc.identifier.none.fl_str_mv | https://hdl.handle.net/1822/70674 |
| dc.language.none.fl_str_mv | eng |
| dc.publisher.none.fl_str_mv | SCITEPRESS – Science and Technology Publications |
| dc.rights.none.fl_str_mv | http://purl.org/coar/access_right/c_abf2 |
| dc.subject.none.fl_str_mv | Web Performance Optimization Latency Web Application Django Python Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| dc.title.fl_str_mv | Improving the latency of Python-based web applications |
| dc.type.none.fl_str_mv | http://purl.org/coar/resource_type/c_5794 |
| description | 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 tem plates 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 |
| dirty | 0 |
| eu_rights_str_mv | openAccess |
| format | conferencePaper |
| fulltext.url.fl_str_mv | https://repositorium.uminho.pt/bitstreams/68e3b73a-023f-4758-9dde-8021caaf0c5c/download |
| id | rum_4bcfc0a28b3b45e8914fd2ff1c838e9f |
| identifier.url.fl_str_mv | https://hdl.handle.net/1822/70674 |
| instacron_str | repositorium |
| institution | Universidade do Minho |
| instname_str | Universidade do Minho |
| language | eng |
| network_acronym_str | rum |
| network_name_str | RepositóriUM - Universidade do Minho |
| oai_identifier_str | oai:repositorium.uminho.pt:1822/70674 |
| organization_str_mv | urn:organizationAcronym:repositorium |
| person_str_mv | Esteves, António Fernandes, João |
| publishDate | 2019 |
| publisher.none.fl_str_mv | SCITEPRESS – Science and Technology Publications |
| reponame_str | RepositóriUM - Universidade do Minho |
| repository_id_str | urn:repositoryAcronym:rum |
| service_str_mv | urn:repositoryAcronym:rum |
| spelling | engSCITEPRESS – Science and Technology PublicationsporThis 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 tem plates 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 toolsapplication/pdfporImproving the latency of Python-based web applicationsEsteves, AntónioFernandes, JoãoHostingInstitutionOrganizationalRepositóriUM - Universidade do Minhoe-mailmailto:repositorium@usdb.uminho.ptrepositorium@usdb.uminho.ptCITATIONEsteves, A., & Fernandes, J. (2019). Improving the Latency of Python-based Web Applications. In WEBIST (pp. 193-201).QQISBNIsPartOf978-989-758-386-5DOIIsPartOf10.5220/00079594019302012021-03-10T16:42:17Z20192019-01-01T00:00:00ZHandlehttps://hdl.handle.net/1822/70674http://purl.org/coar/access_right/c_abf2open accessWeb Performance OptimizationLatencyWeb ApplicationDjangoPythonhttp://www.oecd.org/science/inno/38235147.pdfFields of Science and Technology (FOS)Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática479768 bytesother research producthttp://purl.org/coar/resource_type/c_5794conference paperhttp://purl.org/coar/access_right/c_abf2application/pdffulltexthttps://repositorium.uminho.pt/bitstreams/68e3b73a-023f-4758-9dde-8021caaf0c5c/download |
| spellingShingle | Improving the latency of Python-based web applications Esteves, António Web Performance Optimization Latency Web Application Django Python Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| status | SINGLETON |
| subject.fl_str_mv | Web Performance Optimization Latency Web Application Django Python |
| subject.other.fl_str_mv | Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| title | Improving the latency of Python-based web applications |
| title_full | Improving the latency of Python-based web applications |
| title_fullStr | Improving the latency of Python-based web applications |
| title_full_unstemmed | Improving the latency of Python-based web applications |
| title_short | Improving the latency of Python-based web applications |
| title_sort | Improving the latency of Python-based web applications |
| topic | Web Performance Optimization Latency Web Application Django Python Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| topic_facet | Web Performance Optimization Latency Web Application Django Python Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
| url | https://hdl.handle.net/1822/70674 |
| visible | 1 |