Determine configuration(s) of Puma server for performance benchmark
As a performance engineer
I want to determine desirable configurations (one or more that provides good view over different scales of deployment) of Puma web server
So that I can capture baseline and testing data for side-by-side benchmark where we can discover regressions (if any) and demonstrate improvements.
Acceptance criteria: Configuration(s) that specify relevant settings, for example:
- Number of nodes
- Memory allocated per node
- Number of workers per server
- Memory threshold(?)
- Pid timeout threshold(?)
- ...
Update: TODO items (based on discussion bellow):
-
get HW info about measured nodes ( pre-puma*.gitlab.com
) in a "standardized" way -
get performance index for measure nodes by running a standardized benchmarks (e.g. sysbench) -
allow to remotely reconfigure Puma and force it to restart and gather memory metrics (maybe through /chatops?) -
provide a script which can be used in future to execute same tasks on other nodes too. Ideally automate the whole process.
Edited by Craig Gomes