Designing and building orchestrator load testing based on FoundationDB

Jazyk: ruština
Rok vydání: 2021
Předmět:
DOI: 10.18720/spbpu/3/2021/vr/vr21-4626
Popis: Данная работа была посвящена исследованию принципов и Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¾Ð² к построению и проведению нагрузочного тестирования веб-приложений, Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑŽÑ‰Ð¸Ñ Ð¼Ð¸ÐºÑ€Ð¾ÑÐµÑ€Ð²Ð¸ÑÐ½ÑƒÑŽ Ð°Ñ€Ñ Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ñƒ, а также работе оркестратора – отдельного сервиса, отвечающего за координацию и отслеживанию работы Ð´Ñ€ÑƒÐ³Ð¸Ñ ÑÐµÑ€Ð²Ð¸ÑÐ¾Ð² в системе. В Ñ Ð¾Ð´Ðµ работы решались следующие задачи: 1. Исследование принципа работы оркестратора и Ð¸Ñ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ðµ с одним из Ð¿Ð¾Ð¿ÑƒÐ»ÑÑ€Ð½Ñ‹Ñ Ð¾Ñ€ÐºÐµÑÑ‚Ñ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð² в свободном доступе – Cadence Temporal. 2. Разработка плана и построение собственного генератора нагрузки для тестирования производительности оркестратора, базирующегося на СУБД FoundationDB. 3. Исследование и анализ результатов тестирования. 4. Выявление ÑƒÐ·ÐºÐ¸Ñ Ð¼ÐµÑÑ‚ работы оркестратора и разработка Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² систем, при ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ Ð¾Ñ€ÐºÐµÑÑ‚Ñ€Ð°Ñ‚Ð¾Ñ€ будет давать оптимальные показатели производительности. В Ñ Ð¾Ð´Ðµ работы был разработан собственный генератор нагрузки, который позволил более точно и гибко тестировать производительность системы. Были проведены многочисленные тесты, направленные на доказательства эффективности и масштабируемости работы оркестратора при непрекращающейся нагрузке. В результате были собраны метрики, отражающие поведение системы при ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ñ‹Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ и помогающие выявить узкие места работы оркестратора с написанием Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ¸Ñ Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´Ð°Ñ†Ð¸Ð¹ по Ð¸Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ и улучшению, которые на момент сдачи работы уже были введены в исследование и работу.
This work is devoted to studying principles and approaches to load testing of web applications that use microservice architecture and the workflow of the orchestrator - a separate service that is responsible for coordinating and tracking other services in the system. The research set the following goals: 1. Research of the orchestrator working principles and their comparison with Cadence Temporal, one of the popular free-access orchestrators. 2. Developing a plan and building our own load generator to test the performance of the orchestrator based on the FoundationDB DBMS. 3. Research and analysis of the test results. 4. Identification of orchestrator performance bottlenecks and development of recommended system parameters, at which the orchestrator will give optimal performance. In the course of the work a proprietary load generator was developed, which allowed for more accurate and flexible testing of system performance. Numerous tests were conducted to prove the performance and scalability of the orchestrator under the incessant continuous load. As a result, several metrics were collected that were reflecting the behavior of the system under specific load parameters and that helped to identify bottlenecks in the orchestrator performance with writing further recommendations for modification and improvement of the service, which are already introduced in the research and development at the time.
Databáze: OpenAIRE