自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Percona XtraDB Cluster之流量控制

運維 系統(tǒng)運維
Percona XtraDB Cluster具有一種稱為流控制的自調(diào)節(jié)機制。該機制有助于避免集群中最弱/最慢的成員明顯落后于集群中其他成員的情況。

[[386221]]

 什么是流量控制?

Percona XtraDB Cluster具有一種稱為流控制的自調(diào)節(jié)機制。該機制有助于避免集群中最弱/最慢的成員明顯落后于集群中其他成員的情況。

當集群成員在寫數(shù)據(jù)很慢(同時又繼續(xù)從群集組通道接收寫集)時,傳入/接收隊列的大小會增加。如果此隊列超過設置的閾值(gcs.fc_limit),則該節(jié)點將發(fā)出FLOW_CONTROL消息,要求其他成員放慢或暫停處理。

gcs.fc_limit

此設置控制何時啟用流量控制。 簡而言之,如果wsrep_local_recv_queue在給定節(jié)點上超過此大小,則將發(fā)送暫停的流控制消息。

fc_limit默認為16個事務。 這實際上意味著,這可以使給定節(jié)點位于從集群提交事務的后面。

gcs.fc_master_slave

如果禁用了fc_master_slave(默認情況下),則會動態(tài)修改fc_limit。 該模式實際上是根據(jù)集群中節(jié)點的數(shù)量動態(tài)調(diào)整fc_limit的。 群集中的節(jié)點越多,計算出的fc_limit越大。 其背后的理論是,集群獲得的規(guī)模越大(并且可能來自更多節(jié)點的寫操作越忙),每個節(jié)點的應用空間就越遠。

如果僅寫入PXC中的單個節(jié)點,則建議您通過設置fc_master_slave = YES來禁用此功能。 無論是否動態(tài)調(diào)整fc_limit的大小,此設置實際上只不過是要更改。 它沒有任何其他能力可以幫助PXC中的單節(jié)點提高更好的寫能力。

gcs.fc_factor

如果fc_limit控制何時啟用流控制,則fc_factor在釋放時進行尋址。 該系數(shù)是介于0.0到1.0之間的數(shù)字,該數(shù)字乘以當前的fc_limit(如果fc_master_slave = NO,則通過上述計算進行調(diào)整)。 這樣就產(chǎn)生了在節(jié)點發(fā)出另一條流控制消息之前,recv隊列必須降至低于事務級別的事務數(shù),該消息向群集授予了繼續(xù)復制的權限。

fc_factor默認為0.5,這意味著在恢復復制之前,隊列必須降至fc_limit的50%以下。 在這種情況下,較大的fc_limit可能意味著要等待很長時間才能再次放松流量控制。 但是,最近將此值修改為默認值1.0,以允許復制盡快恢復。

對于最終用戶來說,流控是透明的,但是對于集群管理員而言,重要的是要知道節(jié)點是否在使用流控制。如果是這樣,它將影響整個群集的生產(chǎn)率。

查找節(jié)點是否處于流控制中

FLOW_CONTROL不是持久狀態(tài)。隊列大小超過設置的閾值后,節(jié)點將進入FLOW_CONTROL。一旦隊列大小回到低端水平以下,它將再次釋放。

如何看待較高和較低的閾值

從Percona XtraDB Cluster 5.7.17-29.20開始,現(xiàn)在可以通過SHOW STATUS來查看較低和較高閾值:

  1. mysql> show status like 'wsrep_flow_control_interval'
  2. +-----------------------------+----------------+ 
  3. | Variable_name               | Value          | 
  4. +-----------------------------+----------------+ 
  5. | wsrep_flow_control_interval | [ 3547, 3547 ] | 
  6. +-----------------------------+----------------+ 
  7. 1 row in set (0.01 sec) 

 如您所見,

wsrep_flow_control_interval狀態(tài)變量發(fā)出一個范圍,該范圍代表較低和較高的水平。值集(3547, 3547)表示如果傳入隊列大小大于3547,則啟用FLOW_CONTROL。如果大小小于3547,則釋放FLOW_CONTROL。

盡管如此,這仍無法顯示節(jié)點在任何給定時刻是否正在使用FLOW_CONTROL。

為了解決這個問題,PXC在版本中同時引入了wsrep_flow_control_status狀態(tài)變量。此布爾值狀態(tài)變量告訴用戶該節(jié)點是否在FLOW_CONTROL中。一旦節(jié)點處于流控制之外,則當節(jié)點采用流控制時,變量將切換為OFF,反之則為ON:

  1. mysql> show status like '%flow%'
  2. +-------------------------------------------------------+----------------+ 
  3. | Variable_name                                         | Value          | 
  4. +-------------------------------------------------------+----------------+ 
  5. | Innodb_scrub_background_page_split_failures_underflow | 0              | 
  6. | Ssl_session_cache_overflows                           | 370780         | 
  7. | Table_open_cache_overflows                            | 0              | 
  8. | wsrep_flow_control_paused_ns                          | 7056357841773  | 
  9. | wsrep_flow_control_paused                             | 0.000901       | 
  10. | wsrep_flow_control_sent                               | 0              | 
  11. | wsrep_flow_control_recv                               | 176            | 
  12. | wsrep_flow_control_interval                           | [ 3547, 3547 ] | 
  13. | wsrep_flow_control_interval_low                       | 3547           | 
  14. | wsrep_flow_control_interval_high                      | 3547           | 
  15. | wsrep_flow_control_status                             | OFF            | 
  16. +-------------------------------------------------------+----------------+ 

 最后,wsrep_flow_control_sent / recv計數(shù)器可用于跟蹤FLOW_CONTROL狀態(tài)。這顯示了流控制啟動的總次數(shù)。您可以使用FLUSH STATUS清除它們。

  1. mysql> show global status like 'wsrep_flow%'
  2. +----------------------------------+----------------+ 
  3. | Variable_name                    | Value          | 
  4. +----------------------------------+----------------+ 
  5. | wsrep_flow_control_paused_ns     | 6893631531679  | 
  6. | wsrep_flow_control_paused        | 0.000413       | 
  7. | wsrep_flow_control_sent          | 5366           | 
  8. | wsrep_flow_control_recv          | 5369           | 
  9. | wsrep_flow_control_interval      | [ 3547, 3547 ] | 
  10. | wsrep_flow_control_interval_low  | 3547           | 
  11. | wsrep_flow_control_interval_high | 3547           | 
  12. | wsrep_flow_control_status        | OFF            | 
  13. +----------------------------------+----------------+ 
  14.  
  15. mysql> flush status 
  16.  
  17. mysql> show global status like 'wsrep_flow%'
  18. +----------------------------------+----------------+ 
  19. | Variable_name                    | Value          | 
  20. +----------------------------------+----------------+ 
  21. | wsrep_flow_control_paused_ns     | 6893631531679  | 
  22. | wsrep_flow_control_paused        | 0.000413       | 
  23. | wsrep_flow_control_sent          | 0           | 
  24. | wsrep_flow_control_recv          | 0           | 
  25. | wsrep_flow_control_interval      | [ 3547, 3547 ] | 
  26. | wsrep_flow_control_interval_low  | 3547           | 
  27. | wsrep_flow_control_interval_high | 3547           | 
  28. | wsrep_flow_control_status        | OFF            | 
  29. +----------------------------------+----------------+ 

 【編輯推薦】

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-05-12 09:13:48

MySQL數(shù)據(jù)庫Docker搭建

2010-02-03 23:04:31

流量控制P2P華夏創(chuàng)新

2023-10-08 12:14:42

Sentinel流量控制

2011-06-23 09:09:37

流量控制

2013-07-22 14:25:29

iOS開發(fā)ASIHTTPRequ

2010-06-17 17:00:07

Linux流量控制

2010-06-04 10:49:58

Linux流量控制

2010-05-27 11:03:44

Linux流量控制

2010-06-04 11:21:42

Linux 流量控制

2009-02-05 10:13:00

局域網(wǎng)流量控制數(shù)據(jù)流量

2024-12-02 08:02:36

2019-07-02 10:22:15

TCP流量數(shù)據(jù)

2010-08-06 10:02:07

2021-03-22 08:06:59

SpringBootSentinel項目

2024-03-04 00:02:00

Redis存儲令牌

2016-12-13 08:45:48

2010-11-30 09:40:15

流量控制設備AllotQOS策略

2023-06-20 08:10:00

2009-10-27 20:14:15

數(shù)據(jù)傳輸流量控制網(wǎng)管技巧

2014-12-31 15:05:11

Android流量監(jiān)控
點贊
收藏

51CTO技術棧公眾號