-オープンソースのSNSエンジン OpenPNEプロジェクト-

OpenPNE3 DBマスタースレーブ分割の設定方法

06 / 15 火曜日 2010

  • TIPS
  • Mamoru Tejima

OpenPNE3では、”設定だけで”MySQLのmaster-slave構成は利用できないようだ。世間のメジャーはまだOpenPNE2なの?

http://twitter.com/donz80/statuses/16214843210

この質問にお答えします。

OpenPNE3のマスタースレーブ分割を利用するためには、 config/database.yml を以下のように設定します。

all:
  slave_1: # スレーブは slave_* という名称で、マスタよりも先に定義しなければならない
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:dbname=slave;host=localhost'
      username: root
      encoding: utf8
      attributes: { 164: true }
      priority: 2 # プライオリティ。この例だと、8分の2の確率でスレーブが利用される
  doctrine:  # デフォルト値を master に変更予定だが、 doctrine でも今後動作する
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:dbname=master;host=localhost'
      username: root
      encoding: utf8
      attributes: { 164: true }
      priority: 6  # この例だと、 8 分の 6 の確率でマスタが使用される。

参考
http://trac.openpne.jp/ticket/4036

ページの先頭に戻る