Navigation

Content Hotkeys
Distributed and Self-organizing Systems
Distributed and Self-organizing Systems

Bachelorarbeit / Praktikum

Dynamic Web Application Performance Measurements
Dynamic Web Application Performance Measurements

Research Area

Web Engineering

Advisers

heseba

gaedke

Description

For a long time, a gap between client-side code execution and server-side code execution has required web application developers to create rather multi-language and multi-platform codebases. With the introduction of new technologies for the browser such was WebAssembly as a common compilation target and for the server such as the NodeJS Javascript interpreter, this gap has been closed, enabling use cases based on sharing code between client and server.

In the context of client-server code sharing and dynamic allocation of code execution, knowing the resource capacities and current load is an important factor for decision making. This thesis aims at the specification of a distributed software architecture for measurement of available resources on the client and server side of a web application at runtime. The concept needs to provide suitable infrastructure that can be easily integrated into existing web applications and comprise the following aspects: resource measurements for CPU Load, Memory Usage, Persistent Storage Capacities and Speed, Network speed with regard to the maximum available resources (benchmark mode) and continous reporting (monitoring mode) of current state at runtime, low impact of the measurements on the overall performance of the web application, integratability into arbitrary Web frontends as configurable WebComponent, compatibility with mobile platforms, full-duplex communication between client and serverside to ensure availability of resource-related information at both sides at all times.

The objective of this thesis is the creation of a solution or the combination of existing approaches to solve the problem of resource capabilities and monitoring through a software architecture and infrastructure as described above. This comprises the analysis of the state of the art of resource monitoring in web applications as well as the demonstration of the solution by prototypical implemetation and a suitable evaluation based on experimentation simulating different load scenarios.

Description (German)

Lange Zeit bestand eine Trennung zwischen clientseitiger und serverseitiger Ausführung von Code, welche Webentwickler dazu zwang Anwendungen in unterschiedlichen Sprachen und Platformen zu implementieren. Durch die Einführung neuer Technologien im Browser wie WebAssembly als gemeinsames Kopilierziel und für den Server wie NodeJS als Javascript interpreter, wurde diese Trennung aufgehoben. Dadurch ergeben sich neue Anwendungsmöglichkeiten basierend auf dem Teilen von Code zwischen Client und Server.

Im Kontext des Client-Server Code Sharings und der dynamischen Allokation der Code Ausführung ist die Kenntnis der Resourcen-Kapazitäten und aktuellen Last-Situation ein wesentlicher Faktor für die Entscheidungsfindung. Ziel dieser Thesis ist die Spezifikation einer verteilten Software-Architektur für das Messen von verfügbaren Resourcen auf der Client- und Serverseite einer Webanwendung zur Laufzeit. Das Konzept muss geeignete unterstützende Infrastruktur bereitstellen und folgende Aspekte umfassen: Resourcen-Messung für CPU Last, Speichernutzung, Kapazitäten und Geschwindigkeit von persistentem Speicher, Netzwerkgeschwindigkeit hinsichtlich der maximal verfügbaren Resourcen (Benchmark-Modus) und kontinuierlicher Überwachung (Monitoring-Mode) des aktuellen Zustands zur Laufzeit, geringer Einfluss der Messungen auf die Gesamtperformanz der Webanwendung, Integrierbarkeit in beliebige Web Frontends als konfigurierbare WebComponent, Kompatibilität mit mobilen Plattformen, voll-duplex Kommunikation zwischen Client- und Serverseite um die Verfügbarkeit von Resourcen-bezogenen Informationen auf beiden Zeiten zu jedem Zeitpunkt zu gewährleisten.

Ziel dieser Arbeit ist es einen geeigneten Ansatz oder eine Kombination von Ansätzen zur Lösung des oben beschriebenen Problems der Resourcen-Kapazitäten und -Monitorings durch eine Software-Architektur und unterstüzende Infrastruktur wie oben beschrieben. Dies beinhaltet insbesondere die Untersuchung des Stands der Technik bezüglich Resourcenüberwachung in Webanwendungen, sowie die Demonstration der Lösung durch prototypische Implementierung des Konzeptes ebenso, wie eine geeignete Evaluation durch Experimente zur Simulation verschiedener Last-Szenarien.


Powered by DGS
Edit list (authentication required)

Press Articles