Page MenuHomeFreeBSD

tests/libalias: Add perfomance test utility.
ClosedPublic

Authored by donner on May 21 2021, 2:58 PM.

Details

Summary

In order to compare upcoming changes for their effectivness, measure
performance by counting opertions and the runtime of each operation over the time. Accumulate all tests in a single instance, so make it complicated over the time. If you wait long enough, you will notice the expiry of old flows.

Test Plan

Run the test for 15 seconds, while applying multiple rounds of:

  • try to generate 15000 valid connections
  • let 2000 random external sources ask for random ports
  • let a single random external source hammer with 1500 identical packets
  • try to respond to the valid connections in a random order
$ perf 15 15000 2000 1500
RND SEC NAT RND ATT UNA
  1   0  13  12  12  12
  2   0  13  12  11  12
  3   1  14  13  12  12
  4   1  17  13  12  12
  5   2  18  15  12  12
  6   2  23  15  12  12
  7   3  23  17  12  11
  8   3  28  17  12  12
  9   4  33  18  12  12
 10   5  35  19  12  12
 11   6  39  22  12  12
 12   6  42  21  12  11
 13   7  44  21  13  12
 14   8  48  24  13  12
 15   9  52  25  13  12
 16  10  57  25  13  12
 17  11  61  26  13  12
 18  13  63  27  13  12
 19  14  68  29  13

Results
   Rounds  :      18
   NAT ok  :  285000
   NAT fail:       0
 UNNAT ok  :  270749
 UNNAT fail:       0
RANDOM ok  :       0
RANDOM fail:   38000
ATTACK ok  :       0
ATTACK fail:   28500
 -------------------
      Total:  622249

Diff Detail

Repository
rG FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

  • Make it more complicated.
  • Attacks come from outside
This revision is now accepted and ready to land.May 22 2021, 1:43 PM
donner edited the test plan for this revision. (Show Details)
  • Print intermediate timinge
This revision now requires review to proceed.May 22 2021, 9:40 PM
This revision was not accepted when it landed; it landed in state Needs Review.May 22 2021, 9:50 PM
This revision was automatically updated to reflect the committed changes.