Implementation of visualizations using a server-client architecture : Effects on performance measurements

Abstract

Visualizing large datasets poses challenges in terms of how to create visualization applications with good performance. Due to the amount of data, transfer speed and processing speed may lead to waiting times that cause users to abandon the application. It is therefore important to select methods and techniques that can handle the data in as efficient a way as possible. The aim of this study was to investigate if a server-client architecture had better performance in a visualization web application than a purely client-side architecture in terms of selected performance metrics and network load, and whether the selection of implementation language and tools affected the performance of the server-client architecture implementation. To answer these questions, a visualization application was implemented in three different ways: a purely client-side implementation, a server-client implementation using Node.js for the server, and a server-client implementation using Flask for the server. The results showed that the purely client-side architecture suffered from a very long page loading time and high network load but was able to process data quickly in response to user actions in the application. The server-client architecture implementations could load the page faster, but responding to requests took longer, whereas the amount of data transferred was much lower. Furthermore, the server-client architecture implemented with a Node.js server performed better on all metrics than the application implemented with a Flask server. Overall, when taking all measurements into consideration, the Node.js server architecture may be the best choice among the three when working with a large dataset, although the longer response time compared to the purely client-side architecture may cause the application to seem less responsive

    Similar works