diff options
author | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-06-09 13:57:03 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-06-09 13:57:03 +0000 |
commit | 415e0c386a72efca3a0a5d1c3418e5d929ed7ab8 (patch) | |
tree | c79e0bef7b21160c180c87d72c7d243ee9fe3ff2 /fbench | |
parent | 8cec7dcc18f268a647cfb5958f62dda864adba1f (diff) |
Rename fbench programs to have vespa- prefix.
Temporarily add symlinks from old name to new name.
Diffstat (limited to 'fbench')
-rw-r--r-- | fbench/CMakeLists.txt | 2 | ||||
-rw-r--r-- | fbench/README | 60 | ||||
-rw-r--r-- | fbench/src/fbench/.gitignore | 2 | ||||
-rw-r--r-- | fbench/src/fbench/CMakeLists.txt | 2 | ||||
-rw-r--r-- | fbench/src/fbench/fbench.cpp | 4 | ||||
-rw-r--r-- | fbench/src/filterfile/.gitignore | 2 | ||||
-rw-r--r-- | fbench/src/filterfile/CMakeLists.txt | 2 | ||||
-rw-r--r-- | fbench/src/filterfile/filterfile.cpp | 2 | ||||
-rw-r--r-- | fbench/src/geturl/.gitignore | 2 | ||||
-rw-r--r-- | fbench/src/geturl/CMakeLists.txt | 2 | ||||
-rw-r--r-- | fbench/src/geturl/geturl.cpp | 2 | ||||
-rw-r--r-- | fbench/src/splitfile/.gitignore | 2 | ||||
-rw-r--r-- | fbench/src/splitfile/CMakeLists.txt | 2 | ||||
-rw-r--r-- | fbench/src/splitfile/splitfile.cpp | 2 | ||||
-rwxr-xr-x | fbench/util/fbench-formatter.py | 2 | ||||
-rwxr-xr-x | fbench/util/runtests.sh | 18 |
16 files changed, 55 insertions, 53 deletions
diff --git a/fbench/CMakeLists.txt b/fbench/CMakeLists.txt index f243c8bb51b..a2847c8b8ad 100644 --- a/fbench/CMakeLists.txt +++ b/fbench/CMakeLists.txt @@ -11,3 +11,5 @@ vespa_define_module( TESTS src/test ) + +vespa_install_script(util/resultfilter.pl vespa-resultfilter.pl bin) diff --git a/fbench/README b/fbench/README index 688810e0567..cd0d98afbd1 100644 --- a/fbench/README +++ b/fbench/README @@ -1,11 +1,11 @@ -fbench - fastserver benchmarking program ----------------------------------------- +vespa-fbench - fastserver benchmarking program +---------------------------------------------- -1 Installing fbench -------------------- +1 Installing vespa-fbench +------------------------- -The preferred way of running fbench is to create your own test +The preferred way of running vespa-fbench is to create your own test directory where you place all fbench executables and prepare test files. If you have access to the fbench source, you may consult the 'INSTALL' file for information on how to install fbench. If you have a @@ -13,21 +13,21 @@ pre-compiled distribution of fbench, simply extract the archive. The fbench install directory should contain the following set of files: README - bin/fbench - bin/filterfile - bin/geturl + bin/vespa-fbench + bin/vespa-filterfile + bin/vespa-geturl bin/plot.pl bin/pretest.sh - bin/resultfilter.pl + bin/vespa-resultfilter.pl bin/runtests.sh bin/separate.pl - bin/splitfile + bin/vespa-fbench-split-file 2 Benchmark overview -------------------- -fbench measures the performance of the server by running a number of +vespa-fbench measures the performance of the server by running a number of clients that send requests to the server in parallel. Each client has its own input file containing urls that should be requested from the server. When benchmarking fastserver, the urls contained in these @@ -92,10 +92,10 @@ files by using the -p switch with the 'splitfile' program. ----------------------- You are now ready to begin benchmarking. The actual benchmarking is -done with the fbench program. fbench usage information ([] are used to +done with the vespa-fbench program. vespa-fbench usage information ([] are used to mark optional parameters and default values): -| usage: fbench [-n numClients] [-c cycleTime] [-l limit] [-i ignoreCount] +| usage: vespa-fbench [-n numClients] [-c cycleTime] [-l limit] [-i ignoreCount] | [-s seconds] [-q queryFilePattern] [-o outputFilePattern] | [-r restartLimit] [-k] <hostname> <port> | @@ -140,16 +140,16 @@ can (they issue new queries immediately after the results from the previous query are obtained). Assuming you have at least 200 query files with default filename pattern you may do the following: -$ bin/fbench -n 200 -c 0 <host> <port> +$ bin/vespa-fbench -n 200 -c 0 <host> <port> This will run the test over a period of 60 seconds. Use the -s option to change the duration of the test. Example: You want to manually observe fastserver with a certain amount -of load. You may use fbench to produce 'background noise' by using the +of load. You may use vespa-fbench to produce 'background noise' by using the -s option with argument 0, like this: -$ bin/fbench -n 50 -c 1000 -s 0 <host> <port> +$ bin/vespa-fbench -n 50 -c 1000 -s 0 <host> <port> This will start 50 clients that ask at most 1 query per second each, giving a maximum load of 50 queries per second if the server allows @@ -159,7 +159,7 @@ it. This test run will run forever due to the '-s 0' option given. 5 Understanding Benchmarking Results ------------------------------------ -After a test run has completed, fbench outputs various test +After a test run has completed, vespa-fbench outputs various test results. This section will explain what each of these numbers mean. 'connection reuse count' This value indicates how many times HTTP @@ -175,7 +175,7 @@ results. This section will explain what each of these numbers mean. 'lower response limit' Echo of the -l parameter. 'skipped requests' Number of requests that was skipped by - fbench. fbench will typically skip a request + vespa-fbench. vespa-fbench will typically skip a request if the line containing the query url exceeds a pre-defined limit. Skipped requests will have minimal impact on the statistical @@ -263,32 +263,32 @@ results. This section will explain what each of these numbers mean. For more complete benchmarking you will want to combine the results from several test runs and present them together in a graph or maybe a -spreadsheet. The perl script resultfilter.pl may be used to convert -the output from fbench into a single line of numbers. Lines of numbers +spreadsheet. The perl script vespa-resultfilter.pl may be used to convert +the output from vespa-fbench into a single line of numbers. Lines of numbers produced from several test runs may then be concatenated into the same text file and used to plot a graph with gnuplot or imported into an application accepting structured text files (like Excel). The task described above is performed by the runtests.sh script. It -runs fbench several times with varying client count and cycle +runs vespa-fbench several times with varying client count and cycle time. Between each test run, the script pretest.sh (located in the bin directory) is run. The pretest.sh script should make sure that the server you want to benchmark is in the same state before each of the test runs. This typically means that the caches should be cleared. The supplied pretest.sh file does nothing, and should therefore be modified to fit your needs before you start benchmarking with the -runtests.sh script. NOTE: 'runtests.sh' must be run from the fbench +runtests.sh script. NOTE: 'runtests.sh' must be run from the vespa-fbench install directory in order to find the scripts and programs it depends -on. (fbench is run as 'bin/fbench' etc.). +on. (vespa-fbench is run as 'bin/vespa-fbench' etc.). | usage: runtests.sh [-o] [-l] <minClients> <maxClients> <deltaClients> -| <minCycle> <maxCycle> <deltaCycle> [fbench options] <hostname> <port> +| <minCycle> <maxCycle> <deltaCycle> [vespa-fbench options] <hostname> <port> | | The number of clients varies from <minClients> to <maxClients> with | <deltaClients> increments. For each client count, the cycle time will | vary in the same way according to <minCycle>, <maxCycle> and <deltaCycle>. -| fbench is run with each combination of client count and cycle time, and -| the result output is filtered with the 'resultfilter.pl' script. +| vespa-fbench is run with each combination of client count and cycle time, and +| the result output is filtered with the 'vespa-resultfilter.pl' script. | If you want to save the results you should redirect stdout to a file. | | -o : change the order in which the tests are performed so that client @@ -298,12 +298,12 @@ on. (fbench is run as 'bin/fbench' etc.). | If -o was specified this will output blank lines between test series | using different cycle time. | -| [fbench options] <hostname> <port>: These arguments are passed to fbench. +| [vespa-fbench options] <hostname> <port>: These arguments are passed to vespa-fbench. | There are 2 things to remember: first; do not specify either of the -n | or -c options since they will override the values for client count and | cycle time generated by this script. secondly; make sure you specify -| the correct host and port number. See the fbench usage (run fbench -| without parameters) for more info on how to invoke fbench. +| the correct host and port number. See the vespa-fbench usage (run vespa-fbench +| without parameters) for more info on how to invoke vespa-fbench. Example: You want to see how well fastserver performs with varying client count and cycle time. Assume that you have already prepared 200 @@ -322,7 +322,7 @@ then do the following: $ bin/runtests.sh 10 200 10 0 5000 500 -s 300 <host> <port> > result.txt -The '-s 300' option will be given to fbench causing each test run to +The '-s 300' option will be given to vespa-fbench causing each test run to have a duration of 300 seconds = 5 minutes. The standard output is simply redirected to a file to collect the results for future use. diff --git a/fbench/src/fbench/.gitignore b/fbench/src/fbench/.gitignore index 91da6fc795c..6d049d33747 100644 --- a/fbench/src/fbench/.gitignore +++ b/fbench/src/fbench/.gitignore @@ -1,5 +1,5 @@ .depend Makefile -fbench +vespa-fbench fbench.ilk fbench.pdb diff --git a/fbench/src/fbench/CMakeLists.txt b/fbench/src/fbench/CMakeLists.txt index 987d128f66b..85318a69c07 100644 --- a/fbench/src/fbench/CMakeLists.txt +++ b/fbench/src/fbench/CMakeLists.txt @@ -3,7 +3,7 @@ vespa_add_executable(fbench_app SOURCES client.cpp fbench.cpp - OUTPUT_NAME fbench + OUTPUT_NAME vespa-fbench INSTALL bin DEPENDS fbench_util diff --git a/fbench/src/fbench/fbench.cpp b/fbench/src/fbench/fbench.cpp index 20195d9d234..599ac87233d 100644 --- a/fbench/src/fbench/fbench.cpp +++ b/fbench/src/fbench/fbench.cpp @@ -207,7 +207,7 @@ FBench::PrintSummary() void FBench::Usage() { - printf("usage: fbench [-H extraHeader] [-a queryStringToAppend ] [-n numClients] [-c cycleTime] [-l limit] [-i ignoreCount]\n"); + printf("usage: vespa-fbench [-H extraHeader] [-a queryStringToAppend ] [-n numClients] [-c cycleTime] [-l limit] [-i ignoreCount]\n"); printf(" [-s seconds] [-q queryFilePattern] [-o outputFilePattern]\n"); printf(" [-r restartLimit] [-m maxLineSize] [-k] <hostname> <port>\n\n"); printf(" -H <str> : append extra header to each get request.\n"); @@ -454,7 +454,7 @@ FBench::Main(int argc, char *argv[]) sleepTimer.Start(); if (seconds % 60 == 0) { - printf("[dummydate]: PROGRESS: fbench: Seconds left %d\n", seconds); + printf("[dummydate]: PROGRESS: vespa-fbench: Seconds left %d\n", seconds); } if (printInterval != 0 && seconds % printInterval == 0) { diff --git a/fbench/src/filterfile/.gitignore b/fbench/src/filterfile/.gitignore index 097e544e83d..c6ef8978cb6 100644 --- a/fbench/src/filterfile/.gitignore +++ b/fbench/src/filterfile/.gitignore @@ -1,5 +1,5 @@ .depend Makefile -filterfile +vespa-fbench-filterfile filterfile.ilk filterfile.pdb diff --git a/fbench/src/filterfile/CMakeLists.txt b/fbench/src/filterfile/CMakeLists.txt index 42984155cc0..8334cff50e0 100644 --- a/fbench/src/filterfile/CMakeLists.txt +++ b/fbench/src/filterfile/CMakeLists.txt @@ -2,7 +2,7 @@ vespa_add_executable(fbench_filterfile_app SOURCES filterfile.cpp - OUTPUT_NAME filterfile + OUTPUT_NAME vespa-fbench-filterfile INSTALL bin DEPENDS fbench_util diff --git a/fbench/src/filterfile/filterfile.cpp b/fbench/src/filterfile/filterfile.cpp index e72b5b5c02d..3a0a842446e 100644 --- a/fbench/src/filterfile/filterfile.cpp +++ b/fbench/src/filterfile/filterfile.cpp @@ -48,7 +48,7 @@ main(int argc, char** argv) } if (optError || showUsage) { - printf("usage: filterfile [-a] [-h] [-m maxLineSize]\n\n"); + printf("usage: vespa-fbench-filterfile [-a] [-h] [-m maxLineSize]\n\n"); printf("Read concatenated fastserver logs from stdin and write\n"); printf("extracted query urls to stdout.\n\n"); printf(" -a : all parameters to the original query urls are preserved.\n"); diff --git a/fbench/src/geturl/.gitignore b/fbench/src/geturl/.gitignore index b615c53e087..ad21b60cbde 100644 --- a/fbench/src/geturl/.gitignore +++ b/fbench/src/geturl/.gitignore @@ -1,5 +1,5 @@ .depend Makefile -geturl +vespa-geturl geturl.ilk geturl.pdb diff --git a/fbench/src/geturl/CMakeLists.txt b/fbench/src/geturl/CMakeLists.txt index d9163146dc1..85ae66bc0e3 100644 --- a/fbench/src/geturl/CMakeLists.txt +++ b/fbench/src/geturl/CMakeLists.txt @@ -2,7 +2,7 @@ vespa_add_executable(fbench_geturl_app SOURCES geturl.cpp - OUTPUT_NAME geturl + OUTPUT_NAME vespa-geturl INSTALL bin DEPENDS fbench_util diff --git a/fbench/src/geturl/geturl.cpp b/fbench/src/geturl/geturl.cpp index 5a8b25ec7f5..d6bcdc6dd3b 100644 --- a/fbench/src/geturl/geturl.cpp +++ b/fbench/src/geturl/geturl.cpp @@ -6,7 +6,7 @@ int main(int argc, char** argv) { if (argc != 4) { - printf("usage: geturl <host> <port> <url>\n"); + printf("usage: vespa-geturl <host> <port> <url>\n"); return -1; } diff --git a/fbench/src/splitfile/.gitignore b/fbench/src/splitfile/.gitignore index 681674c8928..0caff830da7 100644 --- a/fbench/src/splitfile/.gitignore +++ b/fbench/src/splitfile/.gitignore @@ -1,5 +1,5 @@ .depend Makefile -splitfile +vespa-fbench-split-file splitfile.ilk splitfile.pdb diff --git a/fbench/src/splitfile/CMakeLists.txt b/fbench/src/splitfile/CMakeLists.txt index 94c8c5681ff..e7be0d79033 100644 --- a/fbench/src/splitfile/CMakeLists.txt +++ b/fbench/src/splitfile/CMakeLists.txt @@ -2,7 +2,7 @@ vespa_add_executable(fbench_splitfile_app SOURCES splitfile.cpp - OUTPUT_NAME splitfile + OUTPUT_NAME vespa-fbench-split-file INSTALL bin DEPENDS fbench_util diff --git a/fbench/src/splitfile/splitfile.cpp b/fbench/src/splitfile/splitfile.cpp index 001e6c4ed5c..8bd2ddc5c29 100644 --- a/fbench/src/splitfile/splitfile.cpp +++ b/fbench/src/splitfile/splitfile.cpp @@ -44,7 +44,7 @@ main(int argc, char** argv) } if (argc < (idx + 1) || argc > (idx + 2) || optError) { - printf("usage: splitfile [-p pattern] [-m maxLineSize] <numparts> [<file>]\n\n"); + printf("usage: vespa-fbench-split-file [-p pattern] [-m maxLineSize] <numparts> [<file>]\n\n"); printf(" -p pattern : output name pattern ['query%%03d.txt']\n"); printf(" -m <num> : max line size for input/output lines.\n"); printf(" Can not be less than the default [10240]\n"); diff --git a/fbench/util/fbench-formatter.py b/fbench/util/fbench-formatter.py index 3c7eeca2bb1..75ec43fe7b0 100755 --- a/fbench/util/fbench-formatter.py +++ b/fbench/util/fbench-formatter.py @@ -1,6 +1,6 @@ #!/usr/bin/python # Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -"""Usage: read.py [options] [fbench output file] +"""Usage: read.py [options] [vespa-fbench output file] Will read from stdin if no file name is given diff --git a/fbench/util/runtests.sh b/fbench/util/runtests.sh index 58b72ae1f86..cc921d96742 100755 --- a/fbench/util/runtests.sh +++ b/fbench/util/runtests.sh @@ -17,13 +17,13 @@ done shift $(($OPTIND - 1)) if [ $# -lt 8 ] || [ "$opt_error" = "true" ]; then echo "usage: runtests.sh [-o] [-l] <minClients> <maxClients> <deltaClients>" - echo " <minCycle> <maxCycle> <deltaCycle> [fbench options] <hostname> <port>" + echo " <minCycle> <maxCycle> <deltaCycle> [vespa-fbench options] <hostname> <port>" echo "" echo "The number of clients varies from <minClients> to <maxClients> with" echo "<deltaClients> increments. For each client count, the cycle time will" echo "vary in the same way according to <minCycle>, <maxCycle> and <deltaCycle>." - echo "fbench is run with each combination of client count and cycle time, and" - echo "the result output is filtered with the 'resultfilter.pl' script." + echo "vespa-fbench is run with each combination of client count and cycle time, and" + echo "the result output is filtered with the 'vespa-resultfilter.pl' script." echo "If you want to save the results you should redirect stdout to a file." echo "" echo " -o : change the order in which the tests are performed so that client" @@ -33,12 +33,12 @@ if [ $# -lt 8 ] || [ "$opt_error" = "true" ]; then echo " If -o was specified this will output blank lines between test series" echo " using different cycle time." echo "" - echo "[fbench options] <hostname> <port>: These arguments are passed to fbench." + echo "[vespa-fbench options] <hostname> <port>: These arguments are passed to vespa-fbench." echo " There are 2 things to remenber: first; do not specify either of the -n" echo " or -c options since they will override the values for client count and" echo " cycle time generated by this script. secondly; make sure you specify" - echo " the correct host and port number. See the fbench usage (run fbench" - echo " without parameters) for more info on how to invoke fbench." + echo " the correct host and port number. See the vespa-fbench usage (run vespa-fbench" + echo " without parameters) for more info on how to invoke vespa-fbench." exit 1 fi @@ -59,7 +59,7 @@ if [ ! $deltaCycle -gt 0 ]; then exit 1 fi -echo "# fbench results collected by 'runtests.sh'." +echo "# vespa-fbench results collected by 'runtests.sh'." echo "#" echo "#1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20" echo "#clients duration cycle lowlimit skip fail ok overtime min max avg 25% 50% 75% 90% 95% 99% rate util zerohit" @@ -71,7 +71,7 @@ if [ "$opt_o" = "true" ]; then clients=$minClients while [ ! $clients -gt $maxClients ]; do test -f pretest.sh && ./pretest.sh > /dev/null 2>&1 - fbench -n $clients -c $cycle $@ | resultfilter.pl + vespa-fbench -n $clients -c $cycle $@ | vespa-resultfilter.pl clients=$(($clients + $deltaClients)) done [ "$opt_l" = "true" ] && echo "" @@ -83,7 +83,7 @@ else cycle=$minCycle while [ ! $cycle -gt $maxCycle ]; do test -f pretest.sh && ./pretest.sh > /dev/null 2>&1 - fbench -n $clients -c $cycle $@ | resultfilter.pl + vespa-fbench -n $clients -c $cycle $@ | vespa-resultfilter.pl cycle=$(($cycle + $deltaCycle)) done [ "$opt_l" = "true" ] && echo "" |