我有一个使用 master_slave_adapter 插件(http://github.com/mauricio/master_slave_adapter/tree/master)的 Rails 应用程序将所有选择发送到从站,并将所有其他语句发送到主站。使用 Mysql 主/从设置复制。我正在尝试验证所有 SQL 语句确实都到了正确的位置。选择从属设备(db2),插入主设备(db1),但我不知道该怎么做。我尝试在网络服务器上使用 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
看起来并不是所有的选择都去奴隶。也许这不是正确的测试方法,有人知道更好的方法吗?