gugus

automated bench tests script of FreeBSD -current

Apr 16th, 2013
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.76 KB | None | 0 0
  1. # Purpose #
  2. There is a firewall performance regression on -current (source: http://pastebin.com/R7mjEwxr).
  3. How to find the culprit commit ?
  4. => Need to generate lot's of FreeBSD -current regarding a list of svn revision (bisection method), and benchmarks each of them...
  5.  
  6. # First step: Generating lot's of FreeBSD -current #
  7. This script will generate BSDRP (nanobsd based) images regarding a list of FreeBSD svn revision number.
  8. => http://sourceforge.net/p/bsdrp/code/HEAD/tree/trunk/BSDRP/tools/bisection-gen.sh
  9.  
  10. BSDRP/tools/bisection-gen.sh
  11. Building image matching revsion 244900...
  12. Building image matching revsion 245423...
  13. Building image matching revsion 246146...
  14. Building image matching revsion 246792...
  15. Building image matching revsion 247463...
  16. Building image matching revsion 247916...
  17. Building image matching revsion 248267...
  18. Building image matching revsion 248584...
  19. Building image matching revsion 248830...
  20. Building image matching revsion 248944...
  21. etc...
  22.  
  23. # Second step: Automatically bench each previously generated images #
  24. This script will do the job.
  25. => http://sourceforge.net/p/bsdrp/code/HEAD/tree/trunk/BSDRP/tools/bench-lab.sh
  26.  
  27. During this script development, we need a virtual BSDRP lab, the BSDRP vbox-lab script (http://sourceforge.net/p/bsdrp/code/HEAD/tree/trunk/BSDRP/tools/BSDRP-lab-vbox.sh).
  28. And just start it like that:
  29. BSDRP-lab-vbox.sh -i BSDRP-1.4-full-amd64-serial.img.xz -n 3 -c
  30.  
  31. It will produce a lab with 3 routers full-meshed, and with a network between the host and all 3 BSDRP VMs.
  32. This will permit to reproduce the real lab:
  33.  
  34. +----------+ +-------------------------+ +----------+
  35. | Tester_1 |<--->| Device Under Test (DUT) |<--->| Tester_2 |
  36. +----------+ +-------------------------+ +----------+
  37. | | |
  38. --------------admin network --------------------------------
  39.  
  40. Now we can run all bench tests with one command line: bench-lab.sh
  41. I'm using (netblast/netreceive and/or netmap pkt-gen), here is an output example:
  42.  
  43. BSDRP automatized upgrade/configuration-sets/benchs script
  44. Testing ICMP connectivity to each devices:
  45. 192.168.56.11...OK
  46. 192.168.56.13...OK
  47. 192.168.56.12...OK
  48. Testing SSH connectivity with key to each devices:
  49. 192.168.56.11...OK
  50. 192.168.56.13...OK
  51. 192.168.56.12...OK
  52. Starting the benchs
  53. Testing image serie: /tmp/BSDRP-244900-upgrade-amd64-serial.img
  54. Upgrading...done
  55. Rebooting DUT and waiting device return online...done
  56. Start bench serie /tmp/benchs/bench.1
  57. Waiting for end of bench 1/6...done
  58. Rebooting DUT and waiting device return online...done
  59. Waiting for end of bench 2/6...done
  60. Rebooting DUT and waiting device return online...done
  61. Testing image serie: /tmp/BSDRP-247463-upgrade-amd64-serial.img
  62. Upgrading...done
  63. Rebooting DUT and waiting device return online...done
  64. Start bench serie /tmp/benchs/bench.2
  65. Waiting for end of bench 3/6...done
  66. Rebooting DUT and waiting device return online...done
  67. Waiting for end of bench 4/6...done
  68. Rebooting DUT and waiting device return online...done
  69. Testing image serie: /tmp/BSDRP-249330-upgrade-amd64-serial.img
  70. Upgrading...done
  71. Rebooting DUT and waiting device return online...done
  72. Start bench serie /tmp/benchs/bench.3
  73. Waiting for end of bench 5/6...done
  74. Rebooting DUT and waiting device return online...done
  75. Waiting for end of bench 6/6...done
  76. All bench tests were done, results in /tmp/benchs
  77.  
  78. # Example of first results #
  79.  
  80. On my real lab with only 3 svn revision, here is the results, value in pps:
  81.  
  82. ministat pf.244900 pf.247463 pf.249330
  83. x pf.244900
  84. + pf.247463
  85. * pf.249330
  86. +---------------------------------------------------------------------------------------------+
  87. |* ** *x * x x x x + + + +|
  88. ||____M___A________| |__________MA___________| |_____M___A_________| |
  89. +---------------------------------------------------------------------------------------------+
  90. N Min Max Median Avg Stddev
  91. x 5 238517 241763 240221 240364.6 1334.621
  92. + 5 244467 246948 244907 245382.6 1095.694
  93. Difference at 95.0% confidence
  94. 5018 +/- 1780.78
  95. 2.08766% +/- 0.740867%
  96. (Student's t, pooled s = 1221.02)
  97. * 5 236646 239048 237209 237688.2 1003.186
  98. Difference at 95.0% confidence
  99. -2676.4 +/- 1721.83
  100. -1.11348% +/- 0.716339%
  101. (Student's t, pooled s = 1180.59)
Add Comment
Please, Sign In to add comment