# DEMO: REST-Q -A Framework to Assess Energy Consumption in Web Applications

Ostap Kilbasovych, Belkis Djeffal, Pierre Bourhis, Romain Rouvoy

► To cite this version:

Ostap Kilbasovych, Belkis Djeffal, Pierre Bourhis, Romain Rouvoy. DEMO: REST-Q -A Framework to Assess Energy Consumption in Web Applications. IC2E 2025 - IEEE International Conference on Cloud Engineering, IEEE, Sep 2025, Rennes, France. 10.1109/IC2E65552.2025.00020. . hal-05331866

HAL Id: hal-05331866

https://hal.science/hal-05331866v1

Submitted on 26 Oct 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# DEMO: REST-Q – A Framework to Assess Energy Consumption in Web Applications

Ostap Kilbasovych

Ivan Franko National Univ. of Lviv

Lviv, Ukraine

ostap.kilbasovych@lnu.edu.ua

Belkis Djeffal, Pierre Bourhis, Romain Rouvoy

Univ. Lille, Inria, CNRS

UMR 9189 CRISTAL, France

{belkis.djeffal, pierre.bourhis, romain.rouvoy}@inria.fr

***Abstract***—This paper presents REST-Q, a framework to measure the energy consumption in multi-tier web applications. Previous studies have shown that technology choices and configurations significantly affect the energy consumption of these systems. Notably, the complexity and variability of web frameworks make it difficult to capture the impact of design choices on the energy consumption of the deployed systems. REST-Q delivers a reproducible infrastructure to evaluate such impacts.

## I. INTRODUCTION

Energy consumption in multi-tier web applications deployed in the cloud has received growing attention in recent years. The adoption of modern web frameworks such as SPRING, QUARKUS, and MICRONAUT has accelerated the development of these applications. The modularity of these frameworks makes it easier to change individual web components. For example, switching the underlying *Database Management System* (DBMS) technology can be achieved by reconfiguring the connector between the business logic and the database. Given the diversity of such software architectures, the question of selecting the key components to optimize energy efficiency and to obtain a trade-off between energy efficiency and performance is a complex task that fundamentally must be reproducible across experimental settings. Previous research has focused on different parts of cloud-native applications: studying the energy consumption of DBMS [1], [2], *Object-Relational Mappings* (ORMs) [3] or third-party libraries [4]. These studies show that no single solution fits all use cases, and each must be tuned to its specific context. Therefore, the variability and the absence of locally optimal solutions require exploring a wide configuration space through a reproducible experimental methodology. Furthermore, energy consumption is measured using different sensors and power models, such as SCAPHANDRE [5] and POWERAPI [6], which rely on hardware sensors and estimation models to infer power usage.

In this paper, we propose a middleware framework, named REST-Q, as a first step toward analyzing the energy consumption of multi-tier web applications, with a focus on the interaction of the database and the logical control of the application. In Section II, we introduce the architecture of our framework and our methodology. In Section III, we summarize different scenarios to demonstrate the added value of the framework, and finally, in Section IV, we conclude.

## II. REST-Q ARCHITECTURE & METHODOLOGY

In this demonstration, we focus on measuring the energy consumption of the server side of multi-tier web applications (also known as *backend*). The backend consists of two main components: a *business logic*, developed in a specific programming language, and a *database* storing the persistent data of the web application with a DBMS. These two parts interact via an ORM framework. The architecture of the REST-Q framework is illustrated in Figure 1.

<figure><img src="image_2.png" /><figcaption>Fig. 1. Architecture of the REST-Q framework.</figcaption></figure>

REST-Q builds upon acknowledged database benchmarks, such as TPC-H [7] and TPC-C [8], to evaluate different application scenarios and measure their energy consumption. More precisely, REST-Q is composed of five components, orchestrated to build a reproducible benchmarking pipeline:<fnref n="1" />

a) **Business logic**: The business logic in REST-Q is an API that maps analytical queries from TPC-H and transactional queries from TPC-C benchmarks to HTTP endpoints. Each endpoint triggers a parameterized query that is executed by the database. It is currently developed using the SPRINGBOOT web framework and uses SPRINGDATA and Data Transfer Objects (DTOs) to return structured results that conform to the *Representational State Transfer* (REST)ful architectural style.

b) **Database**: The database backend runs as a POST-GRESQL DOCKER container and is initialized with datasets conforming to either TPC-H or TPC-C schemas. We employ BENCHBASE [9] for generating and loading datasets of configurable size, with tunable parameters, such as *scale factor*, *concurrency level*, and *batch size*, while workload execution is carried out independently through the *benchmark client*.

<footnote n="1">¹https://gitlab.inria.fr/bourhis/RESTQ-submission</footnote>
c) *Benchmark client:* The benchmark client, implemented in Java, generates load by issuing parameterized HTTP requests corresponding to TPC-H and TPC-C queries exposed via the API. The workload can be configured with parameters such as the *load distribution* across endpoints, *concurrency level*, *request rate*, *run duration*, and *inter-run delays*.

d) *Energy measurement:* REST-Q integrates two energy measurement tools, SCAPHANDRE and POWERAPI, which run in parallel to measure the energy consumption of the business logic and database layers separately.

e) *Orchestration with Ansible:* All components are set up throughAnsIBLE scripts that automate deployment of nodes on GRID’5000 [10], a large-scale testbed for reproducible experiments in distributed computing. A typical setup uses three nodes: one for the POSTGRESQL database and energy probes, one for the SPRINGBOOT Application Programming Interface (API) and probes, and one for the benchmark client that executes experiments and aggregates results.

f) *Visualizing Experiments:* To help interpret experimental results, we developed a Python-based visualization interface that loads JSON output files. As illustrated in Figure 2, it provides the following features:

* Energy consumption comparison: across runs or between power sensors during the same run, synchronized with benchmark execution.

* Energy or power consumption: from power measurements, the tool computes energy consumption for individual system components.

* Repetition of experiments: for reproducibility, experiments can be repeated many times. Multiple runs can be visualized on a single plot to observe whether they exhibit similar behavior.

<figure><img src="image_3.png" /><figcaption>Fig. 2. REST-Q GUI reports detailed energy and performance results.</figcaption></figure>

### III. DEMONSTRATION SCENARIOS

We demonstrate that REST-Q is adaptable, configurable, and supports reproducible experimentation through three scenarios:

a) *Configuration:* In this scenario, we will measure the impact of changing the DBMS configuration. Specifically, we analyze the relationship between the number of allowed database connections and the number of clients in the benchmark. We will show the procedure to deploy this experiment through our framework.

b) *Adaptability:* In this scenario, we measure how the choice of DBMS technology—MYSQL vs. POSTGRESQL— affects the system’s energy consumption. We demonstrate how to conduct this experiment using our framework to measure the impact on individual components and the global system.

c) *Reproducibility:* In this scenario, we will demonstrate several features of the system to help produce more reliable results by showing how to visualize the results of repeated experiments, by comparing results from the different energy sensors. In particular, our setup revealed that SCAPHANDRE does not provide accurate process-level energy measurements under certain conditions.

### IV. CONCLUSION

This demonstration introduced REST-Q, a framework for running reproducible experiments on web applications to evaluate the energy impact of software configurations and underlying technologies. We present scenarios based on established experiments to demonstrate the framework’s adaptability and configurability.

**Acknowledgements.** This research was conducted as part of the RAI for Ukraine program, led by the Center for Responsible AI at New York University in collaboration with Ukrainian Catholic University in Lviv. It received funding from the France 2030 program, managed by the French National Research Agency under grant agreement No. ANR-23-PECL-0003.

### REFERENCES

[1] B. Guo, J. Yu, D. Yang, H. Leng, and B. Liao, “Energy-Efficient Database Systems: A Systematic Survey,” *ACM Comput. Surv.*, vol. 55, no. 6, 2022.

[2] H. S. Lella, R. Chattaraj, S. Chimalakonda, and M. Kurra, “Towards Comprehending Energy Consumption of DBMS - A Tool and Empirical Study,” in *EASE’24*, 2024.

[3] A. Bonvoisin, C. Quinton, and R. Rouvoy, “Understanding the Performance-Energy Tradeoffs of Object-Relational Mapping Frameworks,” in *SANER’24*. IEEE, Mar. 2024.

[4] Z. Ournani, R. Rouvoy, P. Rust, and J. Penhoat, “Comparing the energy consumption of java i/o libraries and methods,” in *ICSME’21*, Sep. 2021.

[5] B. Petit, “Scaphandre,” 2023. [Online]. Available: https://hubblo-org.github.io/scaphandre-documentation/

[6] G. Fieni, D. Romero Acero, P. Rust, and R. Rouvoy, “PowerAPI: A Python framework for building software-defined power meters,” *J. Open Source Soft.*, vol. 9, no. 98, p. 6670, 2024. [Online]. Available: http://powerapi.org/

[7] Transaction Processing Performance Council, “TPC Benchmark® H Standard Specification, Version 3.0.1,” 2023, accessed: 2025-06-29. [Online]. Available: https://www.tpc.org/tpch/

[8] ——, “TPC Benchmark® C Standard Specification, Revision 5.11.0,” 2010, accessed: 2025-06-29. [Online]. Available: https://www.tpc.org/tpcc/

[9] D. E. Difallah, A. Pavlo, C. Curino, and P. Cudré-Mauroux, “OLTP-Bench: An Extensible Testbed for Benchmarking Relational Databases,” *PVLDB*, vol. 7, no. 4, 2013.

[10] N. Capit, G. Da Costa, Y. Georgiou, G. Huard, C. Martin, G. Mounié, P. Neyron, and O. Richard, “Grid’5000: A Large Scale and Highly Reconfigurable Grid Experimental Testbed,” in *GRID’05*, 2005.