2009年12月6日日曜日

L2ARCといんちきキャッシュの折衷案

このエントリーをはてなブックマークに追加
先日L2ARCが利用可能になったときに、以前紹介したいんちきキャッシュ(以降ICacheと呼びます)をお払い箱にして、SSDをすべて新しいストレージのL2ARCにしました。新しいストレージのRAID-Z2は、ARCとL2ARCで性能を補うことを前提に組んであります。これらが両方とも空になる起動直後に負荷が大きくなることは、ある程度想定していました。しかし、平均的な負荷のときの再起動の直後に、HDDへの負荷が大きすぎてサービスに支障をきたしてしまいました。

結局、4つのIntel X25-M 160GBのうち1つはICacheに回して、残りの3つをL2ARCにすることにしました。1つをICacheに回すだけで70%強のヒット率を確保できること、もう1つ加えてもヒット率が5%しか向上しないことと、容量が少なすぎるとL2ARCのヒット率が下がりすぎることから、この構成にしました。

下のグラフは1週間のキャッシュヒット率です。先週の金曜日の夜に10GbEのインターフェイスカードを増設した際に再起動したので、L2ARCのヒット率が一度ゼロに落ちました。そのため平均が少し低めに出ていますが、L2ARCの平均ヒット率は50%といったところです。ICacheはその1/3の容量で72%という数字を示しています。

同じ期間のディスクアレイの負荷が下のグラフです。金曜日の再起動直後に一時的に負荷が上がっていますが、高々50%でとどまっているのがわかります。ICacheなしでは100%に達しますし、応答時間も100msを大きく超えます。

下が同じ期間の4つのSSDの合計スループットです。金曜日にL2ARCが消えてざっくり減っています。L2ARCがかなりのスループットを担っていることがわかります。

ヒット率が72%とはいえICacheに載っているコンテンツの多くはARCにも載っているので、平常時はそれほど大きな戦力にはなりません。しかし、ARCとL2ARCが空になる起動直後はその存在は重要です。まあICacheなしでも、5時間ぐらい我慢すれば負荷は50%以下に下がりますけど。

ICacheとARCが同じコンテンツを持つのは無駄に見えますが、ICacheはARCの助けなしにftp.jaist.ac.jpの72%の負荷を担うことはできません。s10u8からデータセットごとにARCとL2ARCの対象を制御できるようになったので、出力が1Gbpsを超えていないときに、ICacheをARCの対象から外してみたところ負荷に耐えられませんでした。

ICacheのメタデータをARCの対象に加えてもだめで、もう1本SSDを加えて負荷をバランスさせてもだめでした。帯域的には足りているはずなんですけどね。というわけでARCの対象に戻しましたが、L2ARCの対象にする必要はないので外してあります。

0 件のコメント:

コメントを投稿