keep performance up: performance regression testing
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
**Is your enhancement request related to a problem? Please describe.**
When Pulsar grew, it always becomes a little more complex with more lines of own code and code of used dependencies.
Many of these steps could influence the performance. Working with long term contributors and pulsar-experts, there is a good feeling for possible performance impact.
But it is nearly impossible to be sure, performance is getting better from release to release or at least doesn't go down.
**Describe the solution you'd like**
Would be awesome and important for production, to have some kind of continuous performance testing and monitoring by
putting some standard high loads to a defined setup of hardware and pulsar config
and log performance: CPU time, memory and storage
a good overview write-ups could easily be found: https://www.google.de/search?q=Performance+regression
(edit: changed link to not advertise)
doing it one day in an intense way not only in absolute but also time-depend manner, one may even catch some memory leaks like https://github.com/apache/pulsar/issues?q=is%3Aissue+memory+leak
**Describe alternatives you've considered**
wait until there are reports about worse performance
**Additional context**
-
Contributor guide
Research direction
Start by reviewing the proposed continuous performance testing and monitoring approach for Pulsar, including the defined hardware and Pulsar configuration. Establish standard high-load scenarios and the CPU, memory, storage, and time-dependent results to collect. Done means performance regressions can be detected across releases, with possible long-running memory leaks surfaced.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems, performance, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100