ALGORITHM FOR CONFIGURING THE NUMBER OF THREADS FOR BACKGROUND TASK EXECUTION
DOI:
https://doi.org/10.31891/2219-9365-2024-80-20Keywords:
web service, stream, request, performance, background operations, software systemsAbstract
Modern software systems typically handle a significant number of background tasks simultaneously, which can lead to increased server load and reduced user experience performance with web services. Optimizing the number of threads for executing such tasks allows for efficient resource allocation, faster processing speeds, and enhanced system stability. In this context, developing an algorithm for automatic or manual adjustment of thread counts is essential for ensuring high performance and reliability of software, especially amid growing data volumes and increasing complexity of computational processes.
The rising number of users imposes constant pressure on business services, which must guarantee scalability, reliability, and prompt handling of concurrent requests. Contemporary servers face performance limitations not due to hardware constraints but rather due to the complexity of software systems, making the configuration and optimization of software solutions critically important.
The paper presents a platform for designing and executing business services, comprising several subsystems that support background processes and scalable request handling. It describes a stream- and event-based approach that ensures optimal performance and flexibility. The platform's architecture is built on three primary layers—presentation, logic, and data—which interact to process user requests efficiently.
The scheduler, background operations, and business process execution subsystems are examined in detail, showcasing their capabilities in automating tasks, optimizing resources, and integrating the system with external services. The proposed solutions enhance scalability, reduce resource consumption, and improve the performance of web applications.
The use of the proposed algorithm for configuring the number of background handlers reduced the number of repeated requests (e.g., "Update configuration files on the site") to the cloud service by 50%. Consequently, user complaints related to platform reconfiguration were halved. It was shown that incorrect configuration of the number of background handlers resulted in additional time spent analyzing and resolving issues after adjusting the settings. Such situations led to poor performance of business services or their complete shutdown.