redisサーバの選択

3821 ワード

会社はkey/valueと単純な構造のキャッシュサーバとしてredisを使用し、元のmemcachedをキャッシュキューとして置き換えます.
redisサーバの選択については、単純に単一スレッド能力のcpuが強いほど良いが、redisは1台のサーバに複数のポイントを配置することができる.
比較テストを経て、最終的に使用価格の比較的高いdell R 310単路サーバー、X 3470のプロセッサ、32 Gメモリを決定し、メモリは800 MHでしか動作しないが、redisはCPU単スレッドの能力に依存している.
以下はテストデータ、redisで使用されている2.2.2版です.
X3470
[code="java"]
# redis-benchmark -n 100000 -q
PING (inline): 123152.71 requests per second
PING: 123456.79 requests per second
MSET (10 keys): 79176.56 requests per second
SET: 122549.02 requests per second
GET: 121506.68 requests per second
INCR: 121359.23 requests per second
LPUSH: 121654.50 requests per second
LPOP: 121951.22 requests per second
SADD: 122399.02 requests per second
SPOP: 121359.23 requests per second
LPUSH (again, in order to bench LRANGE): 121506.68 requests per second
LRANGE (first 100 elements): 76511.09 requests per second
LRANGE (first 300 elements): 37216.23 requests per second
LRANGE (first 450 elements): 26881.72 requests per second
LRANGE (first 600 elements): 21537.80 requests per second
[/code]
これは別の環境データです
E5620
[code="java"]
# redis-benchmark -n 100000 -q
PING (inline): 56179.78 requests per second
PING: 62111.80 requests per second
MSET (10 keys): 43196.54 requests per second
SET: 59952.04 requests per second
GET: 60679.61 requests per second
INCR: 61387.36 requests per second
LPUSH: 52273.91 requests per second
LPOP: 62034.74 requests per second
SADD: 61500.61 requests per second
SPOP: 62034.74 requests per second
LPUSH (again, in order to bench LRANGE): 62500.00 requests per second
LRANGE (first 100 elements): 45187.53 requests per second
LRANGE (first 300 elements): 28530.67 requests per second
LRANGE (first 450 elements): 21561.02 requests per second
LRANGE (first 600 elements): 17577.78 requests per second
[/code]
X 3470サーバカーネルを2.6.35.4にアップグレードし、redisのパフォーマンスを向上
[code="java"]
# redis-benchmark -n 100000 -q
PING (inline): 144927.53 requests per second
PING: 143678.17 requests per second
MSET (10 keys): 79491.26 requests per second
SET: 147710.48 requests per second
GET: 147058.83 requests per second
INCR: 149700.61 requests per second
LPUSH: 145772.59 requests per second
LPOP: 142247.52 requests per second
SADD: 142045.45 requests per second
SPOP: 140252.45 requests per second
LPUSH (again, in order to bench LRANGE): 142857.14 requests per second
LRANGE (first 100 elements): 73964.50 requests per second
LRANGE (first 300 elements): 35561.88 requests per second
LRANGE (first 450 elements): 26539.28 requests per second
LRANGE (first 600 elements): 21235.93 requests per second
[/code]
i 7-2600 ubuntu 11.04 server(2.6.38.0)でのredisの表現をテストした機械がある.

# redis-benchmark -n 100000 -q
PING (inline): 210084.03 requests per second
PING: 215053.77 requests per second
MSET (10 keys): 120048.02 requests per second
SET: 216919.73 requests per second
GET: 220750.55 requests per second
INCR: 222717.16 requests per second
LPUSH: 222222.23 requests per second
LPOP: 220264.31 requests per second
SADD: 216450.20 requests per second
SPOP: 213219.61 requests per second
LPUSH (again, in order to bench LRANGE): 219780.22 requests per second
LRANGE (first 100 elements): 108813.92 requests per second
LRANGE (first 300 elements): 48379.30 requests per second
LRANGE (first 450 elements): 34542.32 requests per second
LRANGE (first 600 elements): 27382.26 requests per second

sandi bridgeの単一スレッド能力はまだ強いので、単一サーバでE 3-1200シリーズを使用するのはいい選択です.