タグ

ブックマーク / rakuto.blogspot.com (2)

  • [Vol.1] RailsとMySQLによる大規模サイト構築実験

    大規模サイト構築のための土台を作っていきます。 ASP事業に力を注入するとなると、24H7D動作し続ける安定したサービスのためのインフラがまうます必須になるはずです。 アーキテクト WEBサーバ 何でもいい。 WEBアプリケーションフレームワーク Ruby on Rails DB MYSQL で実験していきます。 とりあえず、必要そうなもの。 1. WEB 負荷分散 ・冗長化 2. DB 負荷分散 3. DB 冗長化 4. Railsの拡張(DBへのコネクション周り) まず1番。 ロードバランサー使えばできるし現在のドリコムでも、DUOBLOG APIやCMS ASPはクリアしてます。DNSラウンドロビンは、障害検知が不可能なのでNGです。 次は、2番。 クエリは、参照系クエリと更新系クエリに分類されます。 今ドリコムでDBへのクエリを負荷分散させているプロジェクトは(僕の知っているところ

    [Vol.1] RailsとMySQLによる大規模サイト構築実験
  • [Rails] ActiveRecord::QueryCacheを実装した。CacheStoreにはmemcachedを使用。

    ActiveRecord::QueryCache ActiveRecordの富豪っぷりに困っている。キャッシュの仕組みが用意されているみたいだが過去の遺物となり使用されていない様子。(See Class::ActiveRecord::QueryCache) だから作った。 ActiveRecordの富豪っぷり ActiveRecord#findではフレーム関数を大量に呼び出し深いスタックを生成する。毎度引数+同じ値で呼び出されるのに毎度SQLの生成を行う。 そこでキャッシュ戦略でも比較的基的な、クエリ単位でのキャッシュをおこなうクエリキャッシュとしてActiveRecord::QueryCacheを実装した。引数をキーにしてキャッシュを保存するため、SQLの生成も行わず高速に結果をフェッチすることができる。今後は、エンタープライズでのO/R Mapplerのキャッシュ戦略などを調べてもう

  • 1