しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Azure Redis Cache がついに日本に来た!

今朝、Azure のプレビューポータルがアップデートされて、新データセンターと一緒に仮想マシンを作成したり出来るようになりました。そして、個人な目玉は Azure Redis Cache が日本にもデプロイされたことです。

f:id:shiba-yan:20140714120930p:plain

Japan West を選択すると West Japan になるのは謎いですが、これでディスコン臭が漂う Managed Cache や In Role Cache とか使わなくても、Web サイトからまともな共有キャッシュを使えるようになりました。

フィードバックで Japan East / West に Cache デプロイしてくれ!頼む!とお願いした甲斐がありました。

Add Redis Cache service support in Japan East/West Region – Customer Feedback for Microsoft Azure

そして久しぶりに NuGet を見ると RedisSessionStateProvider もちょいちょいアップデートされていました。

NuGet Gallery | RedisSessionStateProvider 0.3.0-Pre-63

SessionStateProvider 以外にも OutputCacheProvider とかも将来的に出るのではないかと思っています。出来れば ObjectCache を継承した、超絶お手軽キャッシュクライアントとか出てほしい(

実際に西日本に Redis Cache を作成してみたところ、使われている Redis のバージョンは 2.8.9 みたいです。

f:id:shiba-yan:20140714122037p:plain

これは 1 週間前に MS OpenTech からリリースされたバージョンを使っているのでしょう。

Redis on Windows 2.8.9 released | MS OpenTech

とりあえず redis-benchmark を使って、雑なパフォーマンスを調べてみました。

東日本の A1

>redis-benchmark -h *******.redis.cache.windows.net -p 6379 -q -k 1 -c 100 -n 50000
PING_INLINE: 8649.02 requests per second
PING_BULK: 8938.15 requests per second
SET: 8739.73 requests per second
GET: 8838.61 requests per second
INCR: 8662.51 requests per second
LPUSH: 8835.48 requests per second
LPOP: 8691.12 requests per second
SADD: 8689.61 requests per second
SPOP: 8530.97 requests per second
LPUSH (needed to benchmark LRANGE): 8510.64 requests per second
LRANGE_100 (first 100 elements): 8641.55 requests per second
LRANGE_300 (first 300 elements): 8487.52 requests per second
LRANGE_500 (first 450 elements): 8646.03 requests per second
LRANGE_600 (first 600 elements): 8574.86 requests per second
MSET (10 keys): 8068.42 requests per second

西日本の A1

>redis-benchmark -h *******.redis.cache.windows.net -p 6379 -q -k 1 -c 100 -n 50000
PING_INLINE: 15969.34 requests per second
PING_BULK: 16129.03 requests per second
SET: 15974.44 requests per second
GET: 14784.15 requests per second
INCR: 15518.31 requests per second
LPUSH: 14253.14 requests per second
LPOP: 15046.64 requests per second
SADD: 14701.56 requests per second
SPOP: 14060.74 requests per second
LPUSH (needed to benchmark LRANGE): 14492.75 requests per second
LRANGE_100 (first 100 elements): 15253.20 requests per second
LRANGE_300 (first 300 elements): 12950.01 requests per second
LRANGE_500 (first 450 elements): 13433.64 requests per second
LRANGE_600 (first 600 elements): 14594.28 requests per second
MSET (10 keys): 12559.66 requests per second

当然ながら、東日本は一度インターネットに出るのに対して、西日本では完全にデータセンター内での通信になるので、倍ぐらい性能が高くなっていますね。

東日本より西日本の方が価格が安いので、新しく Redis Cache を使ったサービスを動かす場合には、西日本を選択肢として考えておいた方が良いと思いました。

恐らく Azure MVP の近江さんと抱かれたい男 No.1 こと @kamebuchi が「東日本にも早くデプロイしてくれよ」とフィードバックしてくれるはずです。

追記

今朝、Cache 担当っぽい Saurabh Pant 氏が Redis Cache を東日本にもデプロイすることを明言してました。

Coming soon がどのくらいを指すのか不明ですが、楽しみに待ちたいと思います。