./bin/cassandra-stress counterwrite n=1000000 -key populate=1..3 -col n=FIXED(1) -col n=FIXED(2) -col n=FIXED(3)
This should throw an error. If it doesn't, it's a bug. Defining col three times doesn't mean you get three different col definitions. Unless this is a typo, you'd want something like:
Although perhaps we should introduce a new distribution that walks through all values, as populate does for -key.
Also, your first two tests look particularly similar; it's unlikely one will yield any more useful information than another (N threads to two partitions is probably roughly the same as N/2 threads to one, unless we saturate the network)
It might be worth throwing a mixed workload in there, to shake things up a little, e.g. (50/50 split):
cassandra-stress mixed clustering=exp(1..10) ratio(counterread=1,counterwrite=1)
Looking at this, I realise the "clustering" option is poorly documented, in fact it doesn't say anything about what it does. I'll fix that. It "clusters" commands; i.e. when selecting a new command, defines how many of that command type will be executed before a different command type is selected.