This is as expected in this scenario, I was using it with an infinite loop, so in the end the percentages are roughly correct (but still randomly distributed, which accounts for the error you are noting). But note how the logic works here, each iteration it will pick one controller, and that controller may or may not run in that iteration (depending on its percentage probability that it will run). This will randomly distribute load.
If you want to control executions precisely and not just distribute load in percentages then we need to consider another approach. And now I notice a few details of your original email that I didn't take into account. Here are a few other ideas you can play with: Random Controller * Module Controller A [20%] * Module Controller A [20%] * Module Controller B [20%] * Module Controller C [20%] * Module Controller C [20%] In this scenario A & C will run 40% of the time and B will run 20% of the time, but one of them is always selected by the Random Controller. You can use the module controller to allow you to define A, B, and C elsewhere and duplicate their use in this sense. Another idea is the If Controller - I haven't used it so I'm just going off the top of my head here, but I would experiment with creating a random variable (0-1.0) using the [Random Variable Configuration Element] to determine which IF controller to run, and each IF controller only runs if the random variable defined at the beginning of the loop is say: (0-0.3 = 30%, A), (0.3-0.4 = 10%, B), etc. This would guarantee 1 and only 1 of the controllers run in a probabilistic pattern. I'll bet you could come up with a couple more ways of tackling it if you really tried, but hopefully these give you enough ideas to get by. -----Original Message----- From: Philippe Bossu [mailto:pbo...@gmail.com] Sent: Wednesday, October 12, 2011 11:53 AM To: JMeter Users List Subject: Re: Question about ThrouputController Hello, Thanks for this I tried it but I doesn't work . I set 1 threads running 50 LOOP Count => I get 24 executions That's not what I want, I want 50 executions with the repartition, because in this case If I have a sampler waiting for RandomController run result, it will fail since it may not execute. is it something possible ? By the way, percentages are not well respected. 7 / 24 => 30 % => I get 7 executions => OK 4 / 24 => 10% => I get 4 executions => KO 8/ 24 => I get 8 executions => 33% KO 5 / 24 => I get 5 executions => 20% OK Regards Philippe On Wed, Oct 12, 2011 at 7:31 PM, David Parks <davidpark...@yahoo.com> wrote: > I did this as follows: > > * Thread group (define how many requests should be going through at one > time) > * Random Controller (pick any of the sub controllers at random each > iteration) > * Throughput Controller A [10%, By Percent] > * Throughput Controller B [40%, By Percent] > * Throughput Controller C [30%, By Percent] > * Throughput Controller D [20%, By Percent] > > This generates randomly distributed load over Controllers A-D according to > the percentages defined. > > I also threw in a timer at the Random Controller level to limit the > requests > to once every X seconds, this way I could define the number of threads as > representative of an real-world active user. > > Hope that gives some food for thought. > > > -----Original Message----- > From: Philippe Bossu [mailto:pbo...@gmail.com] > Sent: Wednesday, October 12, 2011 10:13 AM > To: jmeter-user@jakarta.apache.org > Subject: Question about ThrouputController > > Hello, > First thank's for your help and great JMeter product. > > I have the following requirement. > I would like to execute 4 different samples at the following frequence: > > - 10% for A > - 40% for B > - 30% for C > - 20% for D > > A,B,C and D do search on different criterions. > At least one of them must be executed because next sampler will use the > search result. > > > I tried to use ThroughputCOntroller but when I ran it once, none of the 4 > is > executed. > Random Controller does not do the job. > InterleaveController as parent of TPC may be an option but I don't > understand how to use it with others > SwitchController might also be an option based on a question sebb answered > to on the mailing list but how to randomize ? > > > Thank you for your help. > Regards > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: jmeter-user-unsubscr...@jakarta.apache.org > For additional commands, e-mail: jmeter-user-h...@jakarta.apache.org > > --------------------------------------------------------------------- To unsubscribe, e-mail: jmeter-user-unsubscr...@jakarta.apache.org For additional commands, e-mail: jmeter-user-h...@jakarta.apache.org