aalto1 untyped-item.component.html
Energy profiling in web applications: A comparative review of tools and methods
Loading...
Files
Aalto login required (access for Aalto Staff only).
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
Department
Major/Subject
Mcode
SCI3027
Degree programme
Language
en
Pages
32
Series
Abstract
Web applications are evolving into larger and more complex systems, which leads to higher energy consumption. This growth poses a challenge to sustainable web development. Accurate and practical energy consumption measurement tools are needed to identify issues in energy consumption and to develop solutions to them.
Energy consumption measurement tools and methods can be divided into three categories: hardware-based tools, software-based tools, and model-based methods. This thesis compares how different tools have been implemented and how they can be used to measure the energy consumption of web applications across backend, frontend, and network layers. In addition, the thesis evaluates the usability of these tools and methods from the perspective of web development.
Physical measuring devices often provide accurate results, but their use requires direct access to the hardware and the use of separate measuring devices. Software-based tools are easier to use, but they are often platform-dependent. Model-based methods, such as machine learning-based prediction models, are a new direction, but their accuracy varies. The latest software-based tools often leverage model-based methods.
The development of software-based measurement tools has been promising both on the server side and in user interfaces, but many of them are still impractical from a web developer's perspective. Furthermore, there are no widely accepted software-based measurement tools for measuring network layer and mobile phone energy consumption. At present, the limitations of these tools make them difficult to use in practical software development, and therefore, they are not yet widely used.
Verkkosovellukset kehittyvät jatkuvasti laajemmiksi ja monimutkaisemmiksi kokonaisuuksiksi, mikä johtaa suurempaan energiankulutukseen. Tämä kehitys asettaa haasteita kestävälle verkkokehitykselle. Energiankulutuksen ongelmien tunnistamiseksi ja ratkaisemiseksi tarvitaan tarkkoja ja käytännöllisiä sähkönkulutuksen mittaustekniikoita.
Sähkönkulutuksen mittauksen työkalut ja metodit voidaan jakaa kolmeen kategoriaan: fyysisiin mittauslaitteisiin, ohjelmistopohjaisiin työkaluihin ja mallipohjaisiin menetelmiin. Tässä kandidaatintyössä vertaillaan, miten eri työkalut on toteutettu ja miten niillä voidaan mitata verkkosovelluksen sähkönkulutusta palvelinpuolella, käyttöliittymässä ja verkkokerroksessa. Lisäksi työssä arvioidaan työkalujen ja metodien käytettävyyttä verkkokehityksen näkökulmasta.
Fyysiset mittauslaitteet tarjoavat usein tarkkoja tuloksia, mutta niiden käyttö edellyttää suoraa pääsyä laitteistoon ja erillisten mittauslaitteiden käyttöä. Ohjelmistopohjaiset työkalut ovat helppokäyttöisempiä, mutta ne ovat usein alustariippuvaisia. Mallipohjaiset tekniikat ovat lupaava suunta, mutta niiden tarkkuus vaihtelee. Uusimmat sovelluspohjaiset työkalut pyrkivät usein hyödyntämään mallipohjaisia menetelmiä.
Sovelluspohjaisten mittaustyökalujen kehitys on ollut lupaavaa sekä palvelinpuolella, että käyttöliittymissä, mutta moni niistä on yhä epäkäytännöllisiä verkkokehittäjän näkökulmasta. Lisäksi verkkokerroksen ja mobiilipuhelimien kulutuksen mittaukseen ei ole olemassa laajasti hyväksyttyjä sovelluspohjaisia mittaustyökaluja. Tällä hetkellä työkalujen rajoitteet vaikeuttaa niiden hyödyntämistä käytännön sovelluskehityksessä, minkä vuoksi niitä ei vielä juurikaan hyödynnetä.