wazuh / wazuh-qa

Wazuh - Quality Assurance
GNU General Public License v2.0
64 stars 30 forks source link

Workload benchmark performance tier 1 #5187

Closed juliamagan closed 1 day ago

juliamagan commented 2 months ago

Description

This issue outlines the work required to create an initial workload performance test and conduct a preliminary benchmark for the Vulnerability Detector's performance after the changes done in 4.8.0. This will provide valuable insights into system behavior under load and identify areas for potential optimization. In addition, the possibility of deploying (and monitoring) a complete environment (including Indexer and Dashboard) will be added.

Functional Requirements

VD performance refactor
- As the QA team, we need to define workload scenarios representative of real-world usage to simulate and benchmark the Vulnerability Detector feature. - As the QA team, we need to create new and update current benchmarking tools and procedures to measure the performance metrics accurately. - As the Core 2 team, we need to validate the benchmark established for Vulnerability Detector after the changes done in 4.8.0.
Central components deployment
- As the QA team, we need to add the deployment of all central components. - As the QA team, we need to update the deployment to be parametrizable (#nodes, indexer, dashboard). - As the QA team, we need to create new and update current tool to obtain metrics of every component. - As the QA team, we must ensure that the deployment uses cost-effective techniques.

Non-functional Requirements

Implementation Restrictions

Plan

The plan for implementing these objectives is divided into several stages, each focusing on a specific aspect of the improvements:

Stage 1: Workload scenario definition and tool preparation

Stage 2: Central components deployment enhancement

Stage 3: Workload performance test execution

Requirements Traceability Matrix (RTM)

Type Responsible(s) Description Plan Part
Functional QA Team Define workload scenarios representative of real-world usage for the Vulnerability Detector feature. Stage 1
Functional QA and Framework Team Fix known issues that preventing the proper operation of the workload benchmark performance Stage 1
Functional QA Team Prepare benchmarking tools and procedures for workload testing. Stage 1
Functional QA Team Add deployment of all central components. Stage 2
Functional QA Team Create new and update current tools to obtain metrics of every component. Stage 2
Functional QA Team Conduct workload benchmarking tests using predefined scenarios. Stage 3
Functional Core 2 Team Validate the benchmark established for Vulnerability Detector after the changes done in 4.8.0. Stage 3
Non-functional QA Team Report performance bottlenecks in the codebase All Stages
Non-functional QA Team Ensure reliability and accuracy of benchmarking tools and procedures All Stages
Implementation QA Team Adhere to existing development and testing frameworks All Stages
Implementation QA Team Ensure compatibility of new benchmarking procedures with existing testing infrastructure and tools All Stages

Approval

DRI name: @juliamagan Director: @davidjiglesias Objective: Workload benchmark performance tier 1

santipadilla commented 4 days ago

LGTM