2012-10-19 14 views

回答

3

法師是非常繁忙的

  • 它並行寫入數據(這是顯而易見的)
  • 它招致的磁盤I/O寫入二進制日誌,序列完成SQL收集到它的二進制日誌
  • 它通過將完成的SQL從二進制日誌傳遞到從站的I/O線程(通過SHOW PROCESSLIST;,用戶名爲system user)在主服務器上可見來管理複製。這可以稍微減緩奴隸與主的關係。

奴隸是不太繁忙的,因爲它...

  • 序列化我爲MySQL複製
    • 收集SQL經由IO線程
    • 記錄SQL從IO線程的主/ O到最近的中繼日誌中
    • SQL線程從中繼日誌中讀取下一個可用的SQL
  • 處理一個SQL命令/一個事務通過SQL螺紋
  • 如果Slave had all MyISAM and Master had all InnoDB時間,寫在從站到了外鍵約束,也不會執行任何參照完整性檢查表。沒有MVCC將不得不發生在奴隸。

將放在同一個公平的競爭從設備和主會

  • 如果從站的二進制日誌啓用唯一的例外。如果從設備只是一個從設備,則不需要該設備,但如果從設備也是主設備,則不需要該設備。
  • 如果多個SQL語句作爲單個InnoDB事務處理。
  • 如果硬件不同
    • 法師有更快的磁盤,更多的內核,更大的內存
    • 奴隸是一個商品服務器
3

從屬很多更快,這是因爲:

  • 的數據量寫入它確實是相同的主
  • 的寫入從旁通所有的語法和權限檢查(所有的工作 - 這是很多 - 由主人在處理查詢時完成 - 只有數據變化被運送到奴隸)
  • 它沒有其他的讀取比你正在執行作爲一個測試
  • 複製是一個優化的過程,旨在儘可能快的同步速度,所以如果我們主人失敗,刮臉儘可能最新。這意味着,通過設計,必須引起從

儘可能少的工作儘可能這一切都意味着,從機下比主負載大大少。

實際上,重定向讀取到從屬是已知的性能修改。

相關問題