Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor

Detalhes bibliográficos
Autor(a) principal: Almeida, Matheus Santos de
Data de Publicação: 2020
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFSCAR
Texto Completo: https://repositorio.ufscar.br/handle/ufscar/13637
Resumo: This work compares the performance of native applications against applications to be executed by execution systems. The applications were built with two frameworks meant for server-side application development with Java: Spring Boot and Quarkus. It was built an application for each framework. Both applications were compiled to native code with GraalVM and to jar packages to be executed by JVM. The adopted criterion to check the performance was the average response time from server to client for each created scenario, it was also evaluated the initialization time of each application. Both applications work like APIs that access a database. It was also created a method to sort a vector of numbers passed by the HTTP request body. It was used two machines to work as server and client alternately, the server executed the application while the client accessed the server and registered the results statistics. The tables of registered results are shown in this work. It was noted that in most of the tested cases the Quarkus native application had a reduction in average response time. To Spring Boot there wasn’t any confirmation of performance improvement to the native application. The applications were also encapsulated in Docker to observe how they perform in this circumstance. There wasn’t a worsening observed in the encapsulated version performance, although this result isn’t conclusive.
id SCAR_d32b78bebaad9c6e9a968374423f66f1
oai_identifier_str oai:repositorio.ufscar.br:ufscar/13637
network_acronym_str SCAR
network_name_str Repositório Institucional da UFSCAR
repository_id_str 4322
spelling Almeida, Matheus Santos deLucrédio, Danielhttp://lattes.cnpq.br/9090396559596221http://lattes.cnpq.br/53918798664297996491688a-b189-469b-99a2-a944730c628d2021-01-08T14:00:10Z2021-01-08T14:00:10Z2020-12-14ALMEIDA, Matheus Santos de. Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor. 2020. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2020. Disponível em: https://repositorio.ufscar.br/handle/ufscar/13637.https://repositorio.ufscar.br/handle/ufscar/13637This work compares the performance of native applications against applications to be executed by execution systems. The applications were built with two frameworks meant for server-side application development with Java: Spring Boot and Quarkus. It was built an application for each framework. Both applications were compiled to native code with GraalVM and to jar packages to be executed by JVM. The adopted criterion to check the performance was the average response time from server to client for each created scenario, it was also evaluated the initialization time of each application. Both applications work like APIs that access a database. It was also created a method to sort a vector of numbers passed by the HTTP request body. It was used two machines to work as server and client alternately, the server executed the application while the client accessed the server and registered the results statistics. The tables of registered results are shown in this work. It was noted that in most of the tested cases the Quarkus native application had a reduction in average response time. To Spring Boot there wasn’t any confirmation of performance improvement to the native application. The applications were also encapsulated in Docker to observe how they perform in this circumstance. There wasn’t a worsening observed in the encapsulated version performance, although this result isn’t conclusive.Este trabalho compara o desempenho de aplicações nativas com aplicações executadas em sistemas de execução. As aplicações foram feitas com dois frameworks para a construção de aplicações web do lado do servidor com Java: Spring Boot e Quarkus. Foi construída uma aplicação para cada framework. As aplicações foram compiladas em código nativo com o GraalVM e em pacotes jar para serem executadas pela JVM. O critério adotado para avaliar o desempenho foi o tempo de resposta médio do servidor para o cliente em cada cenário criado, também foi avaliado o tempo de inicialização de cada aplicação. Ambas as aplicações funcionam como APIs que acessam um banco de dados, também foi criado um método para fazer a ordenação de um vetor de números passado no corpo da requisição HTTP. Foram usadas duas máquinas como cliente e servidor alternadamente, o servidor executava a aplicação e o cliente acessava o servidor e registrava as estatísticas dos resultados. As tabelas dos resultados registrados estão expostas neste trabalho. Foi constatado que na maioria dos casos a aplicação em Quarkus teve uma diminuição no tempo médio de resposta. Para o Spring Boot não houve confirmação de ganho de desempenho para a aplicação nativa. As aplicações também foram encapsuladas em Docker para testar o desempenho nessa circunstância, não foi observada uma piora no desempenho da versão encapsulada, embora este resultado seja inconclusivo.Não recebi financiamentoporUniversidade Federal de São CarlosCâmpus São CarlosEngenharia de Computação - ECUFSCarAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessGraalVMJavaDockerTempo de respostaSpring BootQuarkusResponse timeCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAOUma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidorA comparative performance analysis between different web server execution technologiesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesis600600912fe828-c7e3-45b9-a9c1-9479310c8672reponame:Repositório Institucional da UFSCARinstname:Universidade Federal de São Carlos (UFSCAR)instacron:UFSCARORIGINALMatheus - Monografia.pdfMatheus - Monografia.pdfapplication/pdf295006https://repositorio.ufscar.br/bitstream/ufscar/13637/1/Matheus%20-%20Monografia.pdf69cf01237b5f485342e99264a4757794MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufscar.br/bitstream/ufscar/13637/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52TEXTMatheus - Monografia.pdf.txtMatheus - Monografia.pdf.txtExtracted texttext/plain73690https://repositorio.ufscar.br/bitstream/ufscar/13637/3/Matheus%20-%20Monografia.pdf.txt1aeaa38f096e3fe2f58248727e0eafbbMD53THUMBNAILMatheus - Monografia.pdf.jpgMatheus - Monografia.pdf.jpgIM Thumbnailimage/jpeg3962https://repositorio.ufscar.br/bitstream/ufscar/13637/4/Matheus%20-%20Monografia.pdf.jpg4790399fd865d459d14119aec0ee83dcMD54ufscar/136372023-09-18 18:32:05.19oai:repositorio.ufscar.br:ufscar/13637Repositório InstitucionalPUBhttps://repositorio.ufscar.br/oai/requestopendoar:43222023-09-18T18:32:05Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)false
dc.title.por.fl_str_mv Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
dc.title.alternative.por.fl_str_mv A comparative performance analysis between different web server execution technologies
title Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
spellingShingle Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
Almeida, Matheus Santos de
GraalVM
Java
Docker
Tempo de resposta
Spring Boot
Quarkus
Response time
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
title_short Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
title_full Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
title_fullStr Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
title_full_unstemmed Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
title_sort Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
author Almeida, Matheus Santos de
author_facet Almeida, Matheus Santos de
author_role author
dc.contributor.authorlattes.por.fl_str_mv http://lattes.cnpq.br/5391879866429799
dc.contributor.author.fl_str_mv Almeida, Matheus Santos de
dc.contributor.advisor1.fl_str_mv Lucrédio, Daniel
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/9090396559596221
dc.contributor.authorID.fl_str_mv 6491688a-b189-469b-99a2-a944730c628d
contributor_str_mv Lucrédio, Daniel
dc.subject.por.fl_str_mv GraalVM
Java
Docker
Tempo de resposta
Spring Boot
Quarkus
Response time
topic GraalVM
Java
Docker
Tempo de resposta
Spring Boot
Quarkus
Response time
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO
description This work compares the performance of native applications against applications to be executed by execution systems. The applications were built with two frameworks meant for server-side application development with Java: Spring Boot and Quarkus. It was built an application for each framework. Both applications were compiled to native code with GraalVM and to jar packages to be executed by JVM. The adopted criterion to check the performance was the average response time from server to client for each created scenario, it was also evaluated the initialization time of each application. Both applications work like APIs that access a database. It was also created a method to sort a vector of numbers passed by the HTTP request body. It was used two machines to work as server and client alternately, the server executed the application while the client accessed the server and registered the results statistics. The tables of registered results are shown in this work. It was noted that in most of the tested cases the Quarkus native application had a reduction in average response time. To Spring Boot there wasn’t any confirmation of performance improvement to the native application. The applications were also encapsulated in Docker to observe how they perform in this circumstance. There wasn’t a worsening observed in the encapsulated version performance, although this result isn’t conclusive.
publishDate 2020
dc.date.issued.fl_str_mv 2020-12-14
dc.date.accessioned.fl_str_mv 2021-01-08T14:00:10Z
dc.date.available.fl_str_mv 2021-01-08T14:00:10Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv ALMEIDA, Matheus Santos de. Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor. 2020. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2020. Disponível em: https://repositorio.ufscar.br/handle/ufscar/13637.
dc.identifier.uri.fl_str_mv https://repositorio.ufscar.br/handle/ufscar/13637
identifier_str_mv ALMEIDA, Matheus Santos de. Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor. 2020. Trabalho de Conclusão de Curso (Graduação em Engenharia de Computação) – Universidade Federal de São Carlos, São Carlos, 2020. Disponível em: https://repositorio.ufscar.br/handle/ufscar/13637.
url https://repositorio.ufscar.br/handle/ufscar/13637
dc.language.iso.fl_str_mv por
language por
dc.relation.confidence.fl_str_mv 600
600
dc.relation.authority.fl_str_mv 912fe828-c7e3-45b9-a9c1-9479310c8672
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
Engenharia de Computação - EC
dc.publisher.initials.fl_str_mv UFSCar
publisher.none.fl_str_mv Universidade Federal de São Carlos
Câmpus São Carlos
Engenharia de Computação - EC
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSCAR
instname:Universidade Federal de São Carlos (UFSCAR)
instacron:UFSCAR
instname_str Universidade Federal de São Carlos (UFSCAR)
instacron_str UFSCAR
institution UFSCAR
reponame_str Repositório Institucional da UFSCAR
collection Repositório Institucional da UFSCAR
bitstream.url.fl_str_mv https://repositorio.ufscar.br/bitstream/ufscar/13637/1/Matheus%20-%20Monografia.pdf
https://repositorio.ufscar.br/bitstream/ufscar/13637/2/license_rdf
https://repositorio.ufscar.br/bitstream/ufscar/13637/3/Matheus%20-%20Monografia.pdf.txt
https://repositorio.ufscar.br/bitstream/ufscar/13637/4/Matheus%20-%20Monografia.pdf.jpg
bitstream.checksum.fl_str_mv 69cf01237b5f485342e99264a4757794
e39d27027a6cc9cb039ad269a5db8e34
1aeaa38f096e3fe2f58248727e0eafbb
4790399fd865d459d14119aec0ee83dc
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSCAR - Universidade Federal de São Carlos (UFSCAR)
repository.mail.fl_str_mv
_version_ 1802136384239042560