成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何實現MySQL Replication 優化

數據庫 MySQL
此文章主要向大家討論的是實現MySQL Replication 優化的實際操作步驟,以及對MySQL Replication一些類型的介紹。

以下的文章主要討論的是MySQL Replication 優化,我們大家都知道MySQL Replication的實際討論還是占為大多數的,很多內容的實用性還是很強的,于是就總結了一下,希望會給你帶來一些幫助在此方面。

本人英文水平水平有限,難免有翻譯的不對的地方,有疑問歡迎討論:)

 

 

MySQL Replication延時的類型

 

1. 固定性的延時

Slave的數據持續性的落后于Master并且一直無法與Master的數據保持一致。

 

Slave的數據經常在白天落后于Master,而在晚上可以趕上并與Master的記錄保持一致。

 

這種類型的延時通常是由于Slave服務器的負載已經到達了上限或在白天訪問量大的時候到達上限造成的。

 

2. 非固定性的延時

Slave的數據只是短暫的落后于Master,可在短時間內恢復

 

這類型的延時通常與批量任務和報表有關,效率差的查詢也會導致這類延時

 

MySQL Replication的限制

MySQL的Replication是單線程的,意味著只能有效的使用一個CPU內核和一個磁盤,一條復雜的查詢或者事務都導致進程被阻塞,不過現在針對5.1版本的多線程Replication補,還是pre版,有很多限制,感興趣的可以去看看。

Replication的容量

1. 理解什么是Replication的容量

可以將Replication暫停一個小時,重新啟動Replication后,觀察Slave的數據多久可以與Master一致。從Replication重新啟動到和Master數據一致所花費的時間與Replication暫停的時間的比值就是Replication的容量。

 

2. 建議保持Replication的容量在3倍以上,即延遲一個小時的數據,Slave只需要20分鐘就能與Master的數據一致。

MySQL Replication的優化

1. 5.0的MySQL中避免類似以下的更新語句

 

  1. INSERT … SELECT <complex query> 
  2. UPDATE .... WHERE <complex clause> 

 

 

復雜的查詢會導致Replication線程阻塞。如果是insert或update與select結合的語句,可以講select單獨執行并保存在臨時表中,然后再執行insert或者update。

 

如果使用的是5.1的MySQL,新功能中的行級Replication(RBR)可以解決這個問題。RBR可以將在Master上通過復雜查詢后更新的結果直接傳給Slave,Slave可以直接將結果更新到數據庫中。

 

2. 避免大的事務

太大的事務會造成Replication長時間阻塞,數據會嚴重滯后于Master。

 

Slave服務器的硬件選擇

更快的CPU內核,對于單線程的Replication多核CPU是沒有任何優勢的。

更高速的硬盤,包括更高的轉速和更好的高速緩存命中率,如果有錢的話上SSD吧

 

主從結構的擴展性問題

1. 如何降低寫操作的頻率

Master的寫操作會擴散到所有的Slave上,所以高頻率的寫操作會降低Slave的讀操作效率。

 

至少保持一臺Slave做全庫同步,其他的Slave可以只做部分表的同步。當然,這需要web應用程序的配合來分配哪些查詢讀哪些Slave。

 

將一些更新操作放到memcached中,例如session和計數器。

 

Slave使用myisam引擎

 

將一些寫入量很大的更新操作直接在slave上執行,而不通過Replication。

 

2. 如何更有效的利用Slave的硬件資源

使用分區

 

有選擇的對表進行同步

 

在Slave上對數據進行歸檔。

 

Session的持久化

 

為不同的應用服務器分配不同的Slave進行讀操作。

 

或者根據查詢類型的不同來分配不同的Slave。

 

3. 如何使你的程序最大化的利用Slave

將對數據更新不敏感的查詢放到Slave上,而需要實時數據的查詢則放到Master。

 

通過session的持久化,讓做了修改的用戶首先看到修改的內容,其他的用戶可以等待Slave更新后再查看新內容。

 

對于某些數據,可以用memcached來存放數據的版本號,讀Slave的程序可以先對比Slave的數據和memcached數據的版本,如果不一致則去讀master。用戶和博客類的信息可以用這種方法。

 

在查詢前可以通過SHOW SLAVE STATUS檢測Slave的狀態,然后根據返回的結果進行服務器的選擇。 以上的相關內容就是對MySQL Replication的介紹,望你能有所收獲。

【編輯推薦】

  1. MySQL連接字符串的經驗總結
  2. 安裝MySQL在linux as3之下
  3. MySQL配置SSL的實際操作流程
  4. MySQL忘記密碼的正確解決方法
  5. MySQL 基本命令的用法與注意事項
責任編輯:佚名 來源: 互聯網
相關推薦

2010-05-24 11:26:27

MySQL鎖

2017-01-26 20:48:14

MySQL復制MySQL程序壓縮

2009-06-11 09:56:09

MySQL Repli原理

2019-09-11 10:40:49

MySQL大分頁查詢數據庫

2023-02-26 23:43:43

MySQL數據庫分頁查詢

2010-10-12 14:53:31

mysql索引優化

2010-06-04 10:48:15

Hadoop性能

2009-12-03 11:11:57

PHP網站優化

2010-11-25 10:12:02

MySQL查詢優化

2010-06-13 14:39:47

MySQL SQL

2020-10-19 19:45:58

MySQL數據庫優化

2019-06-03 10:30:42

MySQLCPU數據庫

2021-03-29 09:00:00

Kubernetes容器工具

2010-10-08 16:20:35

MySQL語句

2011-07-26 09:04:44

MySQL Repli數據庫負載均衡

2017-03-16 13:38:02

MySQLMGR

2016-12-20 18:26:51

Mysql優化

2010-05-17 17:09:29

Mysql LIMIT

2023-04-14 15:37:02

DataLeap存儲優化MySQL

2021-11-18 10:05:35

Java優化QPS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久 | 日韩一区二区成人 | 欧美区在线 | 日韩欧美在线播放 | 日日夜夜91 | 欧美91| 国产高清在线精品一区二区三区 | 国产视频中文字幕 | 国产美女视频黄a视频免费 国产精品福利视频 | 亚洲免费在线视频 | 国产福利免费视频 | 欧美激情免费在线 | 成人福利在线视频 | 天天摸天天干 | 国产第一页在线观看 | 成人免费大片黄在线播放 | 91精品国产综合久久久久久漫画 | 97精品视频在线观看 | 91偷拍精品一区二区三区 | 中文字幕精品一区久久久久 | 91精品久久久 | 色综合久久久 | 成人精品一区二区 | 国产在线一区二区三区 | 欧美国产91 | 男人的天堂中文字幕 | 成人福利在线观看 | 国产一区二区久久 | 欧美影院久久 | 高清亚洲 | 中文字幕在线人 | 欧美日高清视频 | 亚洲成人福利视频 | 日韩网站在线观看 | 精品中文在线 | 亚洲欧洲精品一区 | 欧美亚洲视频在线观看 | 成人精品国产免费网站 | 午夜视频一区二区三区 | 网站一区二区三区 | 在线观看电影av |