what is maximum bandwidth usage does single Redis instance ever achieved ?

1,227 views
Skip to first unread message

wangjf

unread,
Jul 18, 2014, 5:42:18 AM7/18/14
to redi...@googlegroups.com
i have pushed a redis instance to 80%+ system cpu usage ,and over 120M byte bandwidth usage,  the redis server become slow and clients get many timeout . so what is the limitation in this situation ?  is it CPU ?  the QPS at this time may be 30k+ ,since i don't have a good method to check the QPS, just use " config reset stat" command to reset "total command processed " number, and use "info" command to evaluate the QPS.  

Josiah Carlson

unread,
Jul 18, 2014, 8:02:19 PM7/18/14
to redi...@googlegroups.com
Redis is fundamentally limited by your network interface, network performance, and how quickly Redis can copy data between kernel space (your network card) to Redis and back. At 120M/second, you are capping out 1gbit, which is the limit for many (most?) non-backbone datacenter network connections. I wouldn't be surprised if in this case you are running into a network hardware issue at some level right now, but you would know better about your network than me.

Ignoring the hardware and network limitations, for Redis to do better, Redis would need to be altered to minimize memory copies, allocations, etc., plus switch to use an alternate low/non-copying network API. Sadly, of the several network APIs that have been announced in the last few years from research institutions, none are currently available for use (at least that I know of). So, of those changes that could be made with Redis, assuming somewhat-major surgery and excluding non-available network APIs, there might be a doubling/tripling in the maximum network throughput that Redis could do (assuming that data is copied 2-3 times more than it should be, and there is zero other overhead), but I wouldn't hold my breath for much more than that, if it was even possible in the first place.

 - Josiah



On Fri, Jul 18, 2014 at 2:42 AM, wangjf <zhanla...@gmail.com> wrote:
i have pushed a redis instance to 80%+ system cpu usage ,and over 120M byte bandwidth usage,  the redis server become slow and clients get many timeout . so what is the limitation in this situation ?  is it CPU ?  the QPS at this time may be 30k+ ,since i don't have a good method to check the QPS, just use " config reset stat" command to reset "total command processed " number, and use "info" command to evaluate the QPS.  

--
You received this message because you are subscribed to the Google Groups "Redis DB" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redis-db+u...@googlegroups.com.
To post to this group, send email to redi...@googlegroups.com.
Visit this group at http://groups.google.com/group/redis-db.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages