multitest
takes a variety of arguments:
-
-C <clusterfile>
– the same cluster as everywhere else -
-r multitest
– the obvious requirement -
-f <testspec>
– one of the files under tests/ , or something that follows a similar pattern. -
--num_testers N
– the number of tester roles to recruit
A test spec of something like
testTitle = Benchmark
testName = ReadWrite
readsPerTransactionA = 1
writesPerTransactionA = 5
alpha = 0
testDuration = 60
runConsistencyCheck = false
would be about the same as the go client test that you’ve been running. There’s two more options you can add: nodeCount = N
defines the number of keys involved in the workload, and valueBytes
/ minValueBytes
defines the size of the value written in the tests.
(Though I didn’t take the time to throw up a mini cluster locally and actually invoke multitest against it, so I’m sorry if anything I gave in the above is wrong.)
If you are going to write a client in Go though, there is some degree of value in benchmarking FDB via your client, because it might teach you things that you’ll need to know when writing an FDB client.