Skip to content

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