Uma análise comparativa de desempenho entre diferentes tecnologias de execução de aplicações web do lado do servidor
Autor(a) principal: | |
---|---|
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 |