Due to the large increase in load on our site, redis is now struggling with the maximum load, because the redis server instance reaches 100% of the CPU (on one of the eight cores), which leads to a timeout.
We upgraded our client software to ServiceStack V3 (starting with BookSleeve 1.1.0.4) and upgraded the redis server to 2.8.11 (starting from version 2.4.x). I chose ServiceStack because of the existence of Harbor.RedisSessionStateStore , which uses ServiceStack.Redis. We used to use AngiesList.Redis with BookSleeve, but we also tested 100%.
We have eight redis servers configured as a master / slave tree. One server for tho session state. Others are for the data cache. One master with two master / slave devices connected to two slaves each.
Servers contain about 600 client connections at their peak when they begin to become clogged with 100% CPU.
What can we do to increase productivity?
Sharding and / or StackExchange Redis client (without my state).
Or could it be something else? The session server also reaches 100%, and it is not connected to any other servers (data and network bandwidth is low).
Update 1: Analyzing redis-cli INFO information
The INFO command is displayed here after one night of launching Redis 2.8.
# Server redis_version:2.8.11 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:7a57b118eb75b37f redis_mode:standalone os:Linux 2.6.32-431.11.2.el6.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll gcc_version:4.4.7 process_id:5843 run_id:d5bb838857d61a9673e36e5bf608fad5a588ac5c tcp_port:6379 uptime_in_seconds:152778 uptime_in_days:1 hz:10 lru_clock:10765770 config_file:/etc/redis/6379.conf
Update 2: twemproxy (Sharding)
I found an interesting component called twemproxy . This component, as I understand it, could trick several instances of redis.
Would it help get rid of the processor?
This will save us a lot of programming time, but it will still take some time to configure 3 additional instances on each server. Therefore, I hope that someone can confirm or debunk this decision before we begin work.