我想用PT-在線架構的變化而改變大表(〜100M記錄)的模式PT-在線模式變化的影響,此工具的作用的MySql,而性能它的運行?MySQL的 - 在數據庫性能
1
A
回答
3
在設計上,該工具將具有對性能沒有顯著影響。首先,讓我們回顧一下該工具的作用:
- 將觸發器附加到當前表,複製所有更新,刪除並插入新表。
- 複製現有的數據在塊中,通過關鍵
分區第一部分是要翻倍的所有寫入和有沒有辦法解決這個。第二部分是批量操作,它將潛在地鎖定當前表並佔用大量IO。
幸運的是,第二部分被分成塊,pt-online-schema-change
頗爲巧妙之塊之間等待有多大的塊是多久:
- 它會檢查塊之間從複製,並暫停如果這個差距太大了。它可以遞歸地檢查奴隸。
- 它檢查加載(通常以正在運行的線程數衡量),並在運行過多查詢(這意味着鎖爭用或CPU/IO使用率過高)時暫停並暫停。如果負載非常高,它甚至會中止。
- 它配置InnoDB的鎖定設置這樣,這是最有可能是任何鎖爭的犧牲品,所以生產的查詢將平穩運行。
- 默認情況下,塊大小動態變化,以保持其運行時保持一致,採用前一塊運行時的加權平均。
- 大塊太大(例如由於具有相同的密鑰行數量龐大)將被跳過結束。
由於這個原因,很可能您的服務器只會受到副本的輕微影響。但是,當然,沒有保證,如果可能的話,您應該在數據庫的暫存版本上運行該工具。在發生問題時,您可以安全地中止工具而不丟失數據。
0
它將讀寫磁盤,消耗內存和使用CPU,所以是的,它將影響性能,同時運行。它怎麼會是另外的呢?
1
的在線模式變更是相當激烈的,同時運行的所有插入/更新/刪除原來的表中增加了一倍(該工具將觸發器等等這些動作是在新副本中複製),並逐件的每一行件原始表格被複制過來。
如果你關注什麼影響,這可能有你的數據庫上,檢查出的文檔:http://www.percona.com/doc/percona-toolkit/2.2/pt-online-schema-change.html
有幾種方法可以讓工具油門本身,包括檢查線程數,複製延遲,並修改如何每個塊大/每個塊應該花多長時間。
相關問題
- 1. MySQL數據庫性能
- 2. 調整mysql數據庫的性能
- 3. MySql |關係數據庫vs非關係數據庫的性能
- 4. mysql數據庫innodb myisam性能
- 5. MySQL緩慢性能報告數據庫
- 6. 提高mysql數據庫性能
- 7. MySQL異步數據庫請求性能
- 8. 性能調整MYSQL數據庫
- 9. MySQL數據庫索引性能問題
- 10. MySQL數據庫性能調整
- 11. 關於MySQL數據庫性能問題
- 12. 性能問題mysql數據庫
- 13. MYSQL數據庫性能 - 大小
- 14. MySQL數據庫性能基於useramount
- 15. MySQL數據庫 - 性能設計
- 16. 數據庫不能在MYSQL
- 17. 數據庫性能基準
- 18. 數據庫性能
- 19. 提高了將數據寫入MYSQL數據庫的性能
- 20. MySql SELECT在巨大的數據庫中查詢性能問題
- 21. 在循環中執行數據庫訪問的mysql性能
- 22. MySQL屬性數據庫
- 23. 數據庫性能問題
- 24. PHP的MySQL ..不能在數據庫
- 25. 大的mysql數據庫計數不同的性能
- 26. 數據清除後MySQL數據庫性能下降
- 27. 數據庫性能 - 數據庫功能的左外部連接
- 28. 性能Azure的彈性池數據庫
- 29. Mysql性能:如何在數據庫中存儲文件樹?
- 30. Access數據庫性能
我的問題是Mysql性能會受到多大影響? – Ran
那麼也許你應該問「這是怎麼回事」,而不是「這樣做」......事實上,我現在正在回答你的問題。 – Romain