Yes, I am running client and server on the same machine, but I am binding them
to different cores. This is a real machine, not a simulator though...
Thanks,
Binh
--- Begin Message ---
Typically, one server threads needs one to two client threads to be saturated.
The throughput is still low. For a single server thread I expect 50-150k rps,
which is orders of
magnitude more than what you get.
Btw, do you run the client and the server on the same (simulated) machine? If
so, that could explain the results.
The values for rps should not be changing drastically. It varies normally a
little bit, but not too much. If you have huge
variations, than you probably have some setup problems.
Regarding the QoS: this means that 95th percentile is less than 10ms. In other
words, at least 95% of all requests should
finish within 10ms, and you have column "95th" giving you the number. Your
latencies are way too high.
I suggest you first set up the benchmark on a real machine and make sure that
everything works smoothly. After that you can go to a
simulator.
Regards,
Djordje
________________________________________
From: Binh Q. Pham [[email protected]]
Sent: Thursday, July 11, 2013 5:14 AM
To: Djordje Jevdjic
Subject: Re: [cloudsuite] Maximum throughput in data caching?
I actually ran my simulation with 2 server threads and 2 client threads.
Does it explain the low throughput? Btw, I am running this simulation on
a 32 core machine with 64GB of memory.
I understand your 'rps' explanation. What value should I pick if the
'rps' value keeps changing?
Another question is: How do I know if the QoS is violated while varying
the 'rps'? in the 2nd command? Should I look at the avg_lat field, and
check to see if it is greater than 10ms to know that the QoS has failed?
Thanks,
Binh
On 7/10/13 6:50 PM, Djordje Jevdjic wrote:
> Hello Binh,
>
> The column requests tells you how many requests were served during the last
> statistics interval (1s in your case, because of -T 1). The actual throughput
> is the second column, rps (requests per second).
>
> The command you ran is used to estimate the maximum throuhput (rps) you can
> achieve, probably violating the QoS requirements. Once you determine the peak
> throughput, you should run the following command:
>
> ./loader -a ../twitter_dataset/twitter_dataset_30x -s servers.txt -g 0.8 -T
> 1 -c 200 -w 8 -e -r $rps
>
> where rps corresponds to about 90% of the peak throughput you achieved using
> the first command. You should experiment and tweak this number to achieve the
> maximum throughput while preserving the QoS. I added some explanations about
> it. Please take a look again at the benchmark web page.
>
> Your throughput seems quite low. What machine you run this benchmark on?
>
> Regards,
> Djordje
>
> ________________________________________
> From: Binh Q. Pham [[email protected]]
> Sent: Thursday, July 11, 2013 3:20 AM
> To: [email protected]
> Subject: Re: [cloudsuite] Maximum throughput in data caching?
>
> Hi all,
> I am having problems intepreting the memcached-client output in order to
> identify the maximum throughput while running the following command:
> ./loader -a ../twitter_dataset/twitter_dataset_30x -s servers.txt -g 0.8 -T 1
> -c 200 -w 8
>
> This is the sample output:
> timeDiff, rps, requests, gets, sets, hits,
> misses, avg_lat, 90th, 95th, 99th, std, min,
> max, avgGetSize
> 1.000001, 1357.0, 1357, 1066, 291, 799,
> 267, 25447.244405, 26000.000000, 26000.000000, 26000.000000, 47.833958,
> 23695.255280, 25452.135086, 582.585366
> Outstanding requests per worker:
> 6485 22607
> count 0
> count 0
> count 0
>
> According to the explaination, the maximum throughput is the "maximum number
> of requests per second achieved". So I guess the number under column
> "requests" is the throughput? If so, I have been waiting for half an hour but
> the number under that column never reached a steady state, and it even went
> back to 0. That's why I am confused and hope someone can clarify this for me.
>
> Thanks,
> Binh
--- End Message ---