0

master_slave_adapter プラグイン ( http://github.com/mauricio/master_slave_adapter/tree/master ) を使用して、すべての選択をスレーブに送信し、他のすべてのステートメントをマスターに送信する Rails アプリを用意しました。レプリケーションは、Mysql マスター/スレーブを使用してセットアップされます。私は、すべての SQL ステートメントが実際に正しい場所に移動していることを検証しようとしています。スレーブ (db2) に選択し、マスター (db1) に挿入しますが、その方法がわかりません。Webサーバーでtcpdumpを使用してみました:

sudo /usr/sbin/tcpdump -q -i eth0 dst port 3306

これは、大量の選択を伴うページ要求の出力です。

10:32:36.570930 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 0
10:32:36.576805 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 0
10:32:36.577201 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 0
10:32:36.577980 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 86
10:32:36.578186 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 21
10:32:36.578359 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 27
10:32:36.578522 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 5
10:32:36.578741 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 13
10:32:36.579611 IP web2.mydomain.com.57524 > db1.mydomain.com.mysql: tcp 29
10:32:36.588201 IP web2.mydomain.com.45978 > db2.mydomain.com.mysql: tcp 0
10:32:36.588323 IP web2.mydomain.com.45978 > db2.mydomain.com.mysql: tcp 0
10:32:36.588677 IP web2.mydomain.com.45978 > db2.mydomain.com.mysql: tcp 0
10:32:36.588784 IP web2.mydomain.com.45978 > db2.mydomain.com.mysql: tcp 86

すべての選択がスレーブに送られているようには見えません。多分これはテストする正しい方法ではないでしょう、誰かがより良い方法を知っていますか?

4

2 に答える 2

0

両方のサーバーでクエリ ログを有効にするか、統計を確認してください。mysql には、実行された各種類のステートメントの数を追跡する一連のグローバル カウンターがあります。

于 2009-09-03T15:35:24.757 に答える