On 11/16/2013 10:07 PM, Djordje Jevdjic wrote:
Hi Marco,
Hi Djordje,
Thank you for the answer.
That command is used to quickly estimate the maximum throughput
a server can achieve, just to give you a hint for tuning. No need to
run it for a whole day. It is not important that the number is very
precise. Pick any. You need to play with the load on the client (using "-r"),
increasing it up to the point at which the response time starts shooting up
but is still below the threshold of 5ms (you can use another threshold depending
on the environment).
By threshold, do you mean QoS?
If so, from the doc, I read:
"The target QoS requires that 95% of the requests are executed within 10ms "
So, what among 5ms and 10ms is the right one?
Furthermore, I run the benchmark:
$ ./loader -a ../twitter_dataset/twitter_dataset_30x -s servers.txt -g
0.8 -T 1 -c 200 -w 8 -e -r /rps/
where rps=42632 which is computed as:
"... /rps/ is 90% of the maximum number of requests per second achieved
using the previous command."
and that in my case is floor(47369*0.90)
I can see output stats like this one:
timeDiff, rps, requests, gets, sets, hits,
misses, avg_lat, 90th, 95th, 99th, std,
min, max, avgGetSize
1.000001, 52205.9, 52206, 41761, 10445,
40933, 828, 6731.190227, 7000.000000, 8000.000000, 8000.000000,
151.660837, 6442.604065, 7090.628147, 819.805656
Outstanding requests per worker:
293396 288454 226063 197955 155863 166900 261821 214019
Please, tell me if I understand.
Let's say the threshold is 10sec.
Such line says that in the last interval l have a throughput of 52205.9
rps and that the 95th Percentile of response time (which if I understand
is the QoS metric) is 8000.
Well, if so I hope the unit-of-measure of response time is microsecond
(musec), so that 8000 musecs < target QoS=10000 musecs. Is it?
Last question, I suppose that the "min" and "max" stats refer to the
observed response time, do they?
If so, I cannot understand why "max" = 7090.628147 is lower than "99th"
= 8000.
Thank you very much for your time and your help!!
Best,
Regards,
Djordje
________________________________________
From: Marco Guazzone [[email protected]]
Sent: Saturday, November 16, 2013 8:32 AM
To: [email protected]
Subject: [datacaching] Max throughput rps
Hello,
As described in the DataCaching docs, I've run the command
./loader -a ../twitter_dataset/twitter_dataset_30x -s servers.txt -g 0.8
-T 1 -c 200 -w 8
to determine the maximum throughput "rps"
This command is has been running for 1 day and continue to output lines
like this one (but with different numbers each time):
timeDiff, rps, requests, gets, sets, hits,
misses, avg_lat, 90th, 95th, 99th, std,
min, max, avgGetSize
1.000001, 48539.0, 48539, 38957, 9582,
38131, 826, 11746.735650, 13000.000000, 13000.000000,
13000.000000, 907.031451, 10428.917885, 12742.028236, 818.065996
Outstanding requests per worker:
293396 288454 206451 197955 172338 197496 261821 214019
count 0
count 0
count 0
Looking inside the loader.c I read that as default the program runs forever.
So I understand the final "rps" value (i.e., the one I will use for
running the benchmark) is the max value of the above "rps" columns I
obtain as output from the loader, is it?
If so, when is it "safe" to stop the execution of loader and get such value?
If not so, can you help me to understand better.
Thank you for the help
Best,
--
Marco
--
Marco