Infrastructure Needs

We should consider building out the following infrastructure:

Initial buildout

Add a phabricator option for bench result

Here is a crazy idea about the perfect system:

  1. User propose to review a patch related to performance improvement into phabricator and click on "please bench"
  2. Once this "bench" option selected, more option available like : "what kind of bench?" with a list proposing "TCP host/ forwarding or firewalling (pf/ipfw/ipf)"
  3. If it's a firewall, we need to add more option like "how many number of UDP flows?" proposing choice like "1K, 10K, 100K, 1M, 5M"
  4. And optionnaly, on what kind of hardware? proposing hardware available on the lab
  5. And an option for "do you want to collect PMC data" ?
  6. Then we should generate 2 kernels (before and after) and start benching and posting the ministat output.

Bench automatization

Network performance bench needs this input:

Running the bench

We need to run multiple series (5 minimums) with a reboot between each of test. Warning of the long BIOS POST delay here: On my big hardware the bench itself is between 30 and 60 seconds, but the full reboot take about 4 minutes. Then I prefer "faster boot" hardware like supermicro in place of long boot Dell/HP servers. Once the server will boot using PXE, it can crash. Then we need some "timeout" that will generate an "IPMI power cycle".

Jenkins/PerfTesting (last edited 2017-09-22T08:51:07+0000 by OlivierCochardLabbé)