タグ

ブックマーク / blog.nomadscafe.jp (3)

  • 一時ファイルとdentry cacheとメモリ - blog.nomadscafe.jp

    わりと長い間悩んでいたんだけど、最近解決したのでメモ。 サービスで利用しているsmalllightの画像変換サーバが、Apacheが使っているメモリ以上のメモリを使用し、Swapしたりメモリ枯渇でサーバがダウンするなどのことが何度かありました。 ↑メモリの動きはこんな感じ いろいろ調べた結果「dentry cache」なるものがメモリ多くを占めていることがわかりました。dentry cacheはディレクトリやファイル名とinodeとを結びつけに使われるキャッシュです。smalllightでは画像を変換する際に一時ファイルを作成するので、その情報が残るようです。 手元で再現させる 番で使っているサーバはCentOS5系ですが、手元のVagrant上のCentOS6(ファイルシステムはext4)で、再現させてみました。 use Parallel::Prefork; use File::Tem

  • 僕らがmemcachedのキャッシュキーにsha1やmd5のhash値を使うを避ける理由 - blog.nomadscafe.jp

    memcachedのキャッシュキーにsha1やmd5のhash値を使うとtcpdumpや解析ツールで覗きにくくなるので、cacheには出来るだけわかりやすい名前をつけて下さい。というハナシ 下のようなコードのように sub cache { state $cache = Cache::Memcached::Fast->new({ namespace => 'db:', }); } sub key { my ($self,$key) = @_; sha1_hex($key); } sub cached_member { my ($self, $member_id) = @_; my $key = $self->key('member:'.$member_id); my $member = $self->cache->get($key); if ( !$member ) { #DBから取得 }

  • 運用におけるエラーログの重要性もしくはLog::Minimalってモジュール書いた話 - blog.nomadscafe.jp

    追記 CPANにアップしました http://search.cpan.org/dist/Log-Minimal/ /追記 アプリケーションサーバでエラーが起きていたり、レスポンスが遅かったりする場合に、Operation Engineer(インフラエンジニア)がまず見るのは、エラーログです。エラーログにでているメッセージを手がかりに原因を探ります。 サーバでエラーが起きている時には、データベースに接続ができなかったり、外部のAPIからレスポンスが得られない、またプログラムのBugが原因となっている場合もあるでしょう。またエラーにならなくても、複数台あるデータベースのスレーブサーバうち一台が落ちて接続をretryしていたり、APIのレスポンスが遅い際にはサーバ全体のパフォーマンスが低下します。 エラーログに障害の原因を探る情報があれば、Operation Engineerは素早く対応を開始で

    s-shin
    s-shin 2014/06/13
  • 1