Predixy is a high performance and fully featured proxy for redis sentinel and redis cluster
Predixy can be compiled and used on Linux, OSX, BSD, Windows(Cygwin). Requires C++11 compiler.
It is as simple as:
$ make
To build in debug mode:
$ make debug
Some other build options:
For examples:
$ make CXX=clang++
$ make EV=poll
$ make MT=false
$ make debug MT=false TS=true
Just copy src/predixy to the install path
$ cp src/predixy /path/to/bin
See below files:
$ src/predixy conf/predixy.conf
With default predixy.conf, Predixy will listen at 0.0.0.0:7617 and proxy to Redis Cluster 127.0.0.1:6379. In general, 127.0.0.1:6379 is not running in Redis Cluster mode. So you will look mass log output, but you can still test it with redis-cli.
$ redis-cli -p 7617 info
More command line arguments:
$ src/predixy -h
Like redis, predixy use INFO command to give stats.
Show predixy running info and latency monitors
redis> INFO
Show latency monitors by latency name
redis> INFO Latency <latency-name>
A latency monitor example:
LatencyMonitorName:all
latency(us) sum(us) counts
<= 100 3769836 91339 91.34%
<= 200 777185 5900 97.24%
<= 300 287565 1181 98.42%
<= 400 185891 537 98.96%
<= 500 132773 299 99.26%
<= 600 85050 156 99.41%
<= 700 85455 133 99.54%
<= 800 40088 54 99.60%
<= 1000 67788 77 99.68%
> 1000 601012 325 100.00%
T 60 6032643 100001
The last line is total summary, 60 is average latency(us)
Show latency monitors by server address and latency name
redis> INFO ServerLatency <server-address> [latency-name]
Reset all stats and latency monitors, require admin permission.
redis> CONFIG ResetStat
predixy is fast, how fast? more than twemproxy, codis, redis-cerberus
See wiki benchmark
Copyright (C) 2017 Joyield, Inc. <joyield.com#gmail.com>
All rights reserved.
License under BSD 3-clause "New" or "Revised" License
WeChat:cppfan