Right. Point of procedure for anyone who has some more potent hashrate.
1. 2 rigs. Have 2 identical rigs that can do 3-5 kH/s each or so ... the more the better, but too much would entail variability between cards and higher likelihood of crashes. I wouldn't use more than 10 kH/s on this.
EDIT: it looks like a 3kh/s rig should be able to get a 5 second share submission time on Flypool (see below).
2. Throttling. make sure the rigs don't throttle. This is very important. Either increase fans speed, or make the room cooler, or decrease TDP. dstm and bminer may also stress the cards differently, though I doubt it (if yes, then sure, I'd prefer the miner that stresses the gpu less but gets me the same hashrate).
Watch the temperature and stay below 60C if you can. NVIDIA gpus start throttling when the temperature is greater than 60C (trust me). Decrease TDP if the reported temperature is >59C. This is only for testing (you can increase your TDP back up after you're done). Memory and GPU overclock do not affect temperatures almost at all. TDP is virtually the only factor.
2a. Stability and comparability. Decrease gpu and memory MHz overclocking, and also TDP to make sure the rigs are stable (this is only a test and you want it to be reliable) and adjust gpu/mem/tdp on each rig such that dstm reports
the same hashrate on both. That is, launch dstm and let it run for 5 minutes. It should report the same average hashrate on both rigs. In dstm, it's the right hand value on the totals line (not the left hand value that jumps around all the time). You really must ensure this, otherwise any results would be skewed ...
3. Difficulty. Start with difficulty DIF=10000. Choose a pool that allows you to set the difficulty, like Flypool (Nanopool does not! They fix the difficulty and you can't set it). Choose the pool server closest to you. Flypool allows you to choose between 4 locations (eu1, us1, cn1, asia1) and is a very reliable pool.
3a. now take one of the rigs and connect to flypool using bminer (not dstm) using
-uri stratum://.diftest:@eu1-zcash.flypool.org:3333 -gpucheck 30
, where DIF is the difficulty you set. This sets a fixed difficulty of DIF. Let it run for 5 minutes. bminer will report the number of accepted shares and number of rejected shares. Add the two values to get a total "N". Then compute the total number of seconds "SEC" for the mining session by subtracting the first timestamp reported by bminer from the last timestamp reported by bminer. Compute T=SEC/N (average share submission rate).
The goal is to get a 5-10 second share rate, i.e. 1 share submitted every 5-10 seconds. Lower is better as it means the hashrate at the pool will be more stable, but you don't want it too low because then ping times and other factors begin to matter. I would aim for 5 seconds if you have a good ping (<50ms), and up to 10 seconds if you have a bad ping. You can adjust the share time via the difficulty. If you see bminer submitting shares visibly faster than once every 5 seconds, then you need to increase difficulty. Specifically:
3b. If after 5 minutes T < 5, increase difficulty to DIF=20000 and go to step 3a. If T is a lot smaller than 5, then increase difficulty by more than double.
3c. If after 5 minutes T > 10, decrease difficulty to DIF=5000 and go to step 3a.
3d. If after 5 minutes 5 < T < 10, then you're good to go and can start the 24h test.
4. 24h test I would create new zcash wallet addresses for the final test, rather than use the same. Then you can share them with us without us seeing your past income and transactions. Then fire up both rigs
at the same time, one with dstm, one with bminer, like so:
./bminer -uri stratum://.bminer:@eu1-zcash.flypool.org:3333 -logfile bminer.log
./zm --server eu1-zcash.flypool.org --port 3333 --user .dstm --pass --time --logfile dstm.log
5. Finish. After 24h, stop. Upload bminer.log and dstm.log separately on pastebin.com. I'd be interested to check them out.
6. If you're worried about losing profits because you don't want to mine Zec or because you decreased your overclock for 24h then you probably shouldn't run this test (you also maybe, just maybe, shouldn't really be mining in the first place).
Have fun.
p.s. If you want to use only a subset of cards from each rig, e.g. only cards 0,1,2,3, then add "--dev 0 1 2 3" for dstm, and "-devices 0,1,2,3" for bminer.