溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PXC——狀態(tài)參數(shù)與變量參數(shù)

發(fā)布時(shí)間:2020-06-05 10:12:24 來(lái)源:網(wǎng)絡(luò) 閱讀:703 作者:一個(gè)笨小孩 欄目:MySQL數(shù)據(jù)庫(kù)

“galera 參數(shù)解析:”

1、狀態(tài)參數(shù):

--wsrep_last_committed:

  表示的是當(dāng)前節(jié)點(diǎn)最新提交的事務(wù)號(hào),也是最新galera GTID的后半部分,前半部分是參數(shù)wsrep_local_state_uuid的值,在每次執(zhí)行提交、DDL執(zhí)行完成或APPLY之后,都會(huì)更新這個(gè)值;


--wsrep_replicated:

  表示當(dāng)前節(jié)點(diǎn)已經(jīng)復(fù)制過(guò)的事務(wù)數(shù)目。


--wsrep_replicated_bytes:

  與參數(shù)wsrep_replicated相對(duì)應(yīng),每一個(gè)事務(wù)的大小不同,這個(gè)參數(shù)表示已經(jīng)復(fù)制的wsrep_replicated個(gè)事務(wù)總字節(jié)大?。╧ey和data)的總和;


--wsrep_repl_keys:

  當(dāng)前節(jié)點(diǎn)已經(jīng)復(fù)制的wsrep_replicated個(gè)事務(wù)對(duì)應(yīng)的總的key的數(shù)目,一個(gè)事務(wù)可以包含多個(gè)key;


--wsrep_repl_keys_bytes:

  與參數(shù)wsrep_repl_keys對(duì)應(yīng),所有發(fā)送的key的大小加起來(lái)的值,代表總的字節(jié)大??;


--wsrep_repl_data_bytes:

  與參數(shù)wsrep_repl_keys_bytes對(duì)應(yīng),與上面幾個(gè)參數(shù)的關(guān)系時(shí):wsrep_replicated_bytes=wsrep_repl_keys_bytes+wsrep_repl_data_bytes+wsrep_replicated*64;


--wsrep_received:

  與參數(shù)wsrep_replicated對(duì)應(yīng),表示當(dāng)前節(jié)點(diǎn)已經(jīng)收到的從寫(xiě)節(jié)點(diǎn)復(fù)制過(guò)的事務(wù)數(shù),單位為事務(wù)個(gè)數(shù);


--wsrep_received_bytes:

  對(duì)參數(shù)wsrep_received對(duì)應(yīng),表示收到的所有事務(wù)包含的key及DATA的字節(jié)數(shù)


--wsrep_local_commits:

  表示當(dāng)前節(jié)點(diǎn)本機(jī)提交的事務(wù)個(gè)數(shù)


--wsrep_local_cert_failures

  表示本地節(jié)點(diǎn)驗(yàn)證失敗的 次數(shù)


--wsrep_local_replays:

  表示本地做replay的次數(shù),這個(gè)參數(shù)值越大,表示本地出錯(cuò)頻率越高


--wsrep_local_send_queue:

  表示當(dāng)前節(jié)點(diǎn)在等待復(fù)制的事務(wù)個(gè)數(shù),就是發(fā)送隊(duì)列的長(zhǎng)度;如果該參數(shù)值越大,說(shuō)明本地壓力或網(wǎng)絡(luò)性能有問(wèn)題,可以作為監(jiān)控指標(biāo);

  

--wsrep_local_send_queue_max:

  當(dāng)前節(jié)點(diǎn)歷史上等待隊(duì)列最大的事務(wù)數(shù)目;


--wsrep_local_send_queue_min:

  當(dāng)前節(jié)點(diǎn)歷史上等待列最小的事務(wù)數(shù)目,一般就是0


--wsrep_local_send_queue_avg:

  當(dāng)前節(jié)點(diǎn)自從上次flush參數(shù)之后,等待隊(duì)列長(zhǎng)度的平均值。其值越大則表示壓力越大,但是這個(gè)參數(shù)中沒(méi)有包括flow_control的等待;


--wsrep_local_recv_queue:

  表示當(dāng)前節(jié)點(diǎn)從其他節(jié)點(diǎn)接受的隊(duì)列中事務(wù)個(gè)數(shù),這個(gè)隊(duì)列與flow  control有關(guān),如果這個(gè)值達(dá)到gcs.fc_limit值的話,就會(huì)發(fā)生flow control,本節(jié)點(diǎn)會(huì)向整個(gè)集群發(fā)送flow control小心,整個(gè)集群會(huì)被阻塞,二等地wsrep_local_recv_queue的值小于gcs.fc_limit*gcs.fc_factor之后,flow control解除。


--wsrep_local_recv_queue_mas:

  表示當(dāng)前節(jié)點(diǎn)歷史接收隊(duì)列中事務(wù)的最大個(gè)數(shù)


--wsrep_local_recv_queue_min:

  表示當(dāng)期節(jié)點(diǎn)歷史接收隊(duì)列中事務(wù)的最小個(gè)數(shù)


--wsrep_local_recv_queue_avg:

  表示當(dāng)前節(jié)點(diǎn)歷史接收隊(duì)列中事務(wù)的平均個(gè)數(shù),如果某個(gè)節(jié)點(diǎn)的平均值都比其他的大,則可以考慮這個(gè)機(jī)器的硬件性能是不太好,或壓力造成的;


--wsrep_local_cached_downto:

  表示當(dāng)前節(jié)點(diǎn)cache中的最小GTID值,可以決定集群中其他節(jié)點(diǎn)在啟動(dòng)時(shí),是需要做IST還是SST。


--wsrep_flow_control_paused_ns:

  表示由于flow control消息引起的集群阻塞時(shí)間長(zhǎng)度,單位是納秒。這個(gè)參數(shù)不能通過(guò)flush status來(lái)重置。它的值是遞增累計(jì)的;


--wsrep_flow_control_paused:

  表示從上次flush status之后開(kāi)始,新產(chǎn)生的FC暫停時(shí)間與 從flush開(kāi)始到show status like "wsrep%"命令執(zhí)行的這段時(shí)間的比值,可以理解為一個(gè)暫停時(shí)間。這個(gè)值越接近0,說(shuō)明系統(tǒng)越正常,如果差不多為1,則說(shuō)明當(dāng)前系統(tǒng)基本不能做復(fù)制了;


--wsrep_flow_control_sent:

  當(dāng)一個(gè)節(jié)點(diǎn)的復(fù)制任務(wù)隊(duì)列長(zhǎng)度超過(guò)fc_limit時(shí),這個(gè)節(jié)點(diǎn)就會(huì)給整個(gè)集群發(fā)送FC消息,這個(gè)參數(shù)表示當(dāng)前節(jié)點(diǎn)向整個(gè)集群發(fā)送FC消息的次數(shù),這個(gè)值越大表示這個(gè)節(jié)點(diǎn)做的越慢。如果這個(gè)值突增了,則說(shuō)明這個(gè)節(jié)點(diǎn)有可能出現(xiàn)了問(wèn)題,或這個(gè)節(jié)點(diǎn)負(fù)載增大了,導(dǎo)致apply寫(xiě)集變慢;


--wsrep_flow_control_recv:

  表示當(dāng)前節(jié)點(diǎn)收到FC消息的次數(shù)。當(dāng)這個(gè)參數(shù)突增時(shí),就需要查看是哪個(gè)節(jié)點(diǎn)的sent值突增了,那么這個(gè) 節(jié)點(diǎn)就有可能存在性能問(wèn)題;


--wsrep_cert_deps_distance:

  表示一個(gè)事務(wù)的GTID2和它所依賴(lài)的事務(wù)的GTID1之間差值的總和,與這段時(shí)間內(nèi)所做的總的驗(yàn)證通過(guò)的事務(wù)(n_certified)個(gè)數(shù)的比值。


--wsrep_commit_oooe:

  這個(gè)參數(shù)的值永遠(yuǎn)是0,如果出現(xiàn)別的值,請(qǐng)看官網(wǎng)資料


--wsrep_commit_oool:

  這個(gè)參數(shù)的值永遠(yuǎn)是0,如果出現(xiàn)別的值,請(qǐng)看官網(wǎng)資料


--wsrep_commit_window:

  這個(gè)參數(shù)與上面的參數(shù)還是相關(guān)的,在每次提交時(shí),都會(huì)檢查oooe;如果這個(gè)值越大,這說(shuō)明真?zhèn)€提交過(guò)程的順序越亂,寫(xiě)入事務(wù)壓力不太平衡;如果越接近1,則說(shuō)明寫(xiě)入越有秩序,事務(wù)相對(duì)比較均勻;

 

--wsrep_apply_oooe:

  這個(gè)參數(shù)和上面oooe的道理是一樣的,如果這個(gè)值很接近0,則說(shuō)明這個(gè)系統(tǒng)的執(zhí)行基本是串行的;


--wsrep_apply_oool:

  與參數(shù)wsrep_apply_oooe對(duì)應(yīng),這個(gè)參數(shù)標(biāo)的含義是,如果值越大,則表示并行執(zhí)行時(shí)亂序的現(xiàn)象越多;如果值越小,則說(shuō)明基本是順序執(zhí)行的;


--wsrep_apply_window:

  這個(gè)參數(shù)值與上面的對(duì)應(yīng),這個(gè)值越大,表示并行apply事務(wù)間的GTID相差越大,這個(gè)節(jié)點(diǎn)的活動(dòng)也就越頻繁;


--wsrep_local_state:

  表示當(dāng)前節(jié)點(diǎn)的狀態(tài),(有4個(gè)值: 1:表示正在請(qǐng)求加入集群,速度很快一般看不到這個(gè)狀態(tài);2:表示正在同步數(shù)據(jù);3:表示當(dāng)前節(jié)點(diǎn)已經(jīng)加入集群;4:表示當(dāng)前節(jié)點(diǎn)與整個(gè)集群是完全相同的)


--wsrep_local_state_comment:

  這個(gè)參數(shù)與上面參數(shù)的4個(gè)狀態(tài)值一一對(duì)應(yīng)的,是對(duì)上面節(jié)點(diǎn)值的一個(gè)描述;


--wsrep_cert_index_size:

  表示當(dāng)前節(jié)點(diǎn)的驗(yàn)證隊(duì)列中,總共有多少個(gè)key;


--wsrep_causal_reads:

  表示的是處理這種寫(xiě)集等待的次數(shù),不過(guò)這個(gè)參數(shù)已經(jīng)不用了


--wsrep_cert_interval:

  表示的是,所有事務(wù)的GTID值與它們各自可以看到的最新提交事務(wù)的GTID值之間差值的總和,與這段時(shí)間內(nèi)所做的被驗(yàn)證通過(guò)事務(wù)的總個(gè)數(shù)的比值;


--wsrep_evs_repl_latency:

  表示GCOMM在消息傳送時(shí)的復(fù)制延遲,單位是秒;采樣時(shí)間通過(guò)參數(shù)evs.stats_report_period來(lái)控制,默認(rèn)是PT1M


--wsrep_incoming_addresses:

  表示當(dāng)前急群眾,所有已經(jīng)加入或正在加入集群的節(jié)點(diǎn)信息,格式為:IP:端口,IP:端口,可以通過(guò)該信息來(lái)做監(jiān)控;


--wsrep_cluster_size:

  表示當(dāng)前集群中節(jié)點(diǎn)的個(gè)數(shù),與參數(shù)wsrep_incoming_addresses對(duì)應(yīng),也可以作為監(jiān)控項(xiàng),一般監(jiān)控條件必須大于或等于3,如果是3的話,則會(huì)發(fā)生腦裂的問(wèn)題;


--wsrep_local_bf_aborts:

  表示當(dāng)前節(jié)點(diǎn)在運(yùn)行過(guò)程中,由于事務(wù)的沖突,導(dǎo)致本地事務(wù)被主動(dòng)取消的事務(wù)個(gè)數(shù)。如果這個(gè)值比較大,說(shuō)明集群的寫(xiě)入沖突比較多,可能需要調(diào)整寫(xiě)入的方式,比如切換寫(xiě)節(jié)點(diǎn)等;


--wsrep_local_index:

  表示當(dāng)前節(jié)點(diǎn)在集群中的編號(hào)。在集群中,每個(gè)節(jié)點(diǎn)都有一個(gè)唯一的編號(hào),從0開(kāi)始計(jì)數(shù)


--wsrep_ready:

  一個(gè)很重要的監(jiān)控項(xiàng),可以知道當(dāng)前節(jié)點(diǎn)的狀態(tài)是不是可以撫慰,正常情況下為ON,如果變?yōu)镺FF,則可能是發(fā)生了腦裂,或者和其他節(jié)點(diǎn)之間的網(wǎng)絡(luò)連不上,又或者是galera集群沒(méi)有正常啟動(dòng)等;一般可以通過(guò)命令set global wsrep_provider_options='pc.bootstrap=yes' 來(lái)恢復(fù),不過(guò)在執(zhí)行這個(gè)命令之后,需要觀察整個(gè)集群的狀態(tài),不然可能會(huì)導(dǎo)致這個(gè)節(jié)點(diǎn)在邏輯上脫離集群。這個(gè)命令的作用就是讓當(dāng)前節(jié)點(diǎn)變?yōu)閜rimary,如果執(zhí)行了,則說(shuō)明確定要使用這個(gè)節(jié)點(diǎn)來(lái)提供服務(wù)了;

  


2、變量參數(shù):

--wsrep_provider_options:

---cert.log_conflicts:

   在galera中,提交的每一個(gè)事務(wù)都會(huì)做驗(yàn)證,看看是不是有依賴(lài)關(guān)系,并堅(jiān)持是不是有沖突等,發(fā)現(xiàn)了沖突,就由這個(gè)參數(shù)來(lái)控制是否要將沖突記錄下來(lái),從而可以通過(guò)日志查出原因或用于做一些其他的工作,日志會(huì)被記錄到error_log文件中;

   

---gcache.dir:

   用來(lái)指定GCache文件的目錄,只有在gcache.name參數(shù)指定的是相對(duì)路徑時(shí),這個(gè)目錄才會(huì)起作用,而如果gcache.name指定的是絕對(duì)路徑,則這個(gè)參數(shù)就被忽略了,如果這個(gè)參數(shù)沒(méi)有指定,則會(huì)被設(shè)置為參數(shù)base_dir的值;

 

---gcache.name:

  用來(lái)指定GCache文件的名字,名字中也可以帶著路徑,包括絕對(duì)路徑及相對(duì)路徑;


---gcache.mem_size:不建議使用!官方已經(jīng)棄用


---gcache.page_size:

   這個(gè)參數(shù)表示的就是新建物理文件的大小,如果一個(gè)還是不夠用,則會(huì)繼續(xù)新建同樣大小的物理文件,而當(dāng)GCache被purge之后,物理文件的GCache就會(huì)被清除,當(dāng)文件中沒(méi)有有效的寫(xiě)集內(nèi)容時(shí),文件也會(huì)被刪除掉。所以只要物理文件出現(xiàn),就說(shuō)明GCache不夠用了;


---gcache.size:不建議使用!官方已經(jīng)棄用


---gcs.fc_limit:

   這個(gè)參數(shù)控制的就是接受隊(duì)列達(dá)到多大時(shí),觸發(fā)FC


---gcs.fc_factor:

   這個(gè)參數(shù)表示是,接收隊(duì)列在多大時(shí),F(xiàn)C會(huì)解除。這個(gè)參數(shù)是一個(gè)比例,gcs.fc_limit X gcs.gc_factor的結(jié)果就是FC解除時(shí)的接收隊(duì)列長(zhǎng)度。如果小于這個(gè)長(zhǎng)度,則FC解除;


---gcs.fc_master_slave :

   這個(gè)參數(shù)與上面兩個(gè)參數(shù)是相關(guān)的,如果設(shè)置為yes,表示當(dāng)前集群的使用方式為主從模式,也就是單點(diǎn)寫(xiě)入的模式,其他節(jié)點(diǎn)都是從節(jié)點(diǎn);如果設(shè)置為no的話,說(shuō)明是多點(diǎn)寫(xiě)入模式,則gcs.fc_limit最終生效的值就會(huì)發(fā)生變化。


---gcs.sync_donor:

   這個(gè)參數(shù)控制的是,在state transfer的過(guò)程中,donor是否要發(fā)送flow control消息;如果將這個(gè)參數(shù)設(shè)置為no,表示不產(chǎn)生flow  control,這樣就是一種非阻塞式的state transfer;

 

---gmcast.listen_addr:

   這個(gè)值是用來(lái)感知其他節(jié)點(diǎn)的加入操作的,而新加入節(jié)點(diǎn)在選擇donor之后會(huì)向這個(gè)地址發(fā)送消息,這就可以建立聯(lián)系的;

   

---gmcast.segment:

   這個(gè)值的設(shè)置是用來(lái)在選擇donor時(shí),確定哪個(gè)節(jié)點(diǎn)具有優(yōu)先權(quán)的,范圍是0-255,值越大,優(yōu)先權(quán)越高。一般都設(shè)置為0,也就是自動(dòng)選擇donor;


---ist.recv_addr:

   這個(gè)地址是用來(lái)設(shè)置做IST時(shí)joiner的接收地址的,默認(rèn)情況下,設(shè)置為wsrep_node_address所指定的地址,端口為單獨(dú)的接收端口,格式為IP:PORT


---repl.commit_order:

   這個(gè)參數(shù)控制的是galera并發(fā)控制的行為,針對(duì)的是提交操作。為了使所有節(jié)點(diǎn)產(chǎn)生的binlog完全一樣,建議這個(gè)值設(shè)置為3;


---repl.max_ws_size:

   這個(gè)參數(shù),是用來(lái)控制寫(xiě)集復(fù)制大小的,單位是字節(jié);

   

---pc.bootstrap:

   這個(gè)參數(shù)可以用來(lái)將當(dāng)前節(jié)點(diǎn)狀態(tài)為不可服務(wù)狀態(tài)(non-primary components)的節(jié)點(diǎn),變?yōu)閜rimary components狀態(tài)的節(jié)點(diǎn);一般講這個(gè)參數(shù)的命令設(shè)置為:set  global wsrep_provider_options='pc.bootstrap=yes';,用于快速處理故障,恢復(fù)線上服務(wù);

   

--wsrep_start_position:

  這是參數(shù)是PXC版本的mysqld新增的一個(gè)參數(shù),用來(lái)在節(jié)點(diǎn)啟動(dòng)時(shí),指定當(dāng)前節(jié)點(diǎn)最新的GTID值,或者是指定當(dāng)前節(jié)點(diǎn)開(kāi)始向集群要增量數(shù)據(jù)點(diǎn)的位置;


--wsrep_slave_threads:

  這個(gè)參數(shù),是用來(lái)設(shè)置galera cluster集群中,從節(jié)點(diǎn)執(zhí)行apply時(shí)用于做并行復(fù)制的線程個(gè)數(shù)。

---wsrep_retry_autocommit:

  這個(gè)參數(shù)是來(lái)控制事務(wù)執(zhí)行行為的,如果驗(yàn)證失敗,則每個(gè)節(jié)點(diǎn)應(yīng)該都是驗(yàn)證失敗的,那么每個(gè)節(jié)點(diǎn)都會(huì)失敗,從節(jié)點(diǎn)在驗(yàn)證失敗的情況下,直接忽略寫(xiě)集即可;而主節(jié)點(diǎn)是通過(guò)參數(shù)wsrep_retry_autocommit來(lái)控制,如果不為0,則當(dāng)前事務(wù)(自動(dòng)提交的情況下)會(huì)再執(zhí)行一次,從頭到尾重新執(zhí)行,然后再次發(fā)送、驗(yàn)證等;


--wsrep_recover:

  這個(gè)參數(shù),是用來(lái)找到某一個(gè)節(jié)點(diǎn)(處于shutdown狀態(tài))最新GTID值的,它只需要去innodb的ibddata的一個(gè)固定位置,找到這個(gè)GTID值,然后將其輸入到日志文件中,從而可以了解最新的位置及與集群的差集;


--wsrep_on:

  這個(gè)參數(shù)用來(lái)控制當(dāng)前節(jié)點(diǎn)的寫(xiě)入是不是想要復(fù)制到其他節(jié)點(diǎn)。默認(rèn)情況下,為了保證集群的一致性,都會(huì)將一個(gè)節(jié)點(diǎn)的寫(xiě)入,復(fù)制到其他節(jié)點(diǎn);

  

--wsrep_max_ws_size:

  這個(gè)參數(shù),用來(lái)控制galera cluster在某一個(gè)節(jié)點(diǎn)寫(xiě)入事務(wù)大小,這里指的是keys及DATA二者加起來(lái)的byte數(shù)目,這是個(gè)安全性的參數(shù);


--wsrep_max_ws_rows:

  這個(gè)參數(shù),用來(lái)控制galera cluster在某一個(gè)節(jié)點(diǎn)寫(xiě)入事務(wù)所影響的行數(shù)。如果超過(guò)這個(gè)值,則直接拋出異常,是一種安全性的參數(shù);

  

--wsrep_desync:

  在復(fù)制延遲的節(jié)點(diǎn)上設(shè)置這個(gè)參數(shù)為on,這樣這個(gè)節(jié)點(diǎn)就會(huì)變成了一種異步復(fù)制的模式,此時(shí)主庫(kù)可以一直寫(xiě)入,從節(jié)點(diǎn)也一直apply,如果接受任務(wù)隊(duì)列的長(zhǎng)度已經(jīng)超過(guò)了fc.limit值,則這個(gè)從節(jié)點(diǎn)也不會(huì)發(fā)送flow control小心,整個(gè)集群的寫(xiě)入安然無(wú)恙,只是有可能從節(jié)點(diǎn)的數(shù)據(jù)不是最新的了,有一段時(shí)間的延遲,如果可以幾首,那長(zhǎng)期保持這樣的狀態(tài)也沒(méi)什么不好的;如果延遲問(wèn)題沒(méi)有了,那就不會(huì)再出現(xiàn)任務(wù)堆積的情況了,這是可以再講這個(gè)參數(shù)值設(shè)置為OFF,整個(gè)集群又保持一致了,就變成了真真正正的galera cluster;


--wsrep_cluster_address:

  這個(gè)參數(shù),格式類(lèi)似:gcomm://192.168.1.1:3306,192.168.1.2:3306,每一個(gè)節(jié)點(diǎn),啟動(dòng)時(shí)都會(huì)通過(guò)設(shè)置這個(gè)參數(shù)來(lái)找到集群中的其他節(jié)點(diǎn),指定的節(jié)點(diǎn)中可以是已經(jīng)啟動(dòng)的,也可以是沒(méi)有啟動(dòng)的,galera會(huì)自動(dòng)選擇并加入。建議在集群變更時(shí)盡量保證這個(gè)參數(shù)的值與集群中實(shí)際節(jié)點(diǎn)一致,避免在以后變更時(shí)出現(xiàn)不必要的麻煩;


--wsrep_OSU_method:

  這個(gè)參數(shù)是用來(lái)控制DDL執(zhí)行行為的;默認(rèn)情況它的值是TOI,表示在執(zhí)行過(guò)程中,是全程強(qiáng)勢(shì)有序的,并且在使用到被修改的表時(shí),都會(huì)將其殺死,這是默認(rèn)的情況,并且是最簡(jiǎn)單的方法,也推薦使用這種方法;


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI