女主宣言javascript
TiDB在寫入一段時間後,會存在一些可清理的數據。對這些數據進行刪除,能夠釋放集羣的空間。本文描述了在清理數據過程當中,遇到的問題和具體的排查步驟,但願對有相同需求的同窗有所幫助。java
PS:豐富的一線技術、多元化的表現形式,盡在「360雲計算」,點關注哦!算法
1sql
背景數據庫
TiDB集羣在寫入了必定的時間後,存在一些能夠刪除的歷史數據。爲了釋放集羣的空間,我和業務一併討論和計劃了待刪除的表,可是在drop數據時發現集羣QPS有抖動,duration異常升高,通過排查發現觸發了compaction的流控,致使業務的寫入產生了積壓。多線程
集羣配置併發
集羣版本:v3.0.5app
集羣配置:普通SSD磁盤,128G內存,40 核cpu微服務
tidb21 TiDB/PD/pump/prometheus/grafana/CCS tidb22 TiDB/PD/pump tidb23 TiDB/PD/pump tidb01 TiKV tidb02 TiKV tidb03 TiKV tidb04 TiKV tidb05 TiKV tidb06 TiKV tidb07 TiKV tidb08 TiKV tidb09 TiKV tidb10 TiKV tidb11 TiKV tidb12 TiKV tidb13 TiKV tidb14 TiKV tidb15 TiKV tidb16 TiKV tidb17 TiKV tidb18 TiKV tidb19 TiKV tidb20 TiKV wtidb29 TiKV wtidb30 TiKV
2性能
現象
操做過程當中收到以下報警:
乍一看引發的報警問題仍是蠻多的,但其實看本質和操做時間點,是在集羣drop大批量數據後(本案例是drop近30T數據),且到通過GC life time後觸發的,所以基本定位到主要是由於drop大批量表,GC回收時致使的。
看到pending_task,write_stall等報警,第一反應就是GC回收空間時佔用IO致使了集羣資源爭用。
業務也發現積壓和OPS抖動,duration升高,以下圖:
3
排查步驟
根據以往經驗,pending_task和stall咱們先看一下集羣的繁忙狀態:
果真,咱們獲得了預期的結果,集羣在drop操做後爆出了server is busy,官網關於server is busy有以下相關內容:
經過查看監控:Grafana -> TiKV -> errors 確認具體 busy 緣由。在ERROR頁面咱們看到了server is busy 有峯值,這是 TiKV 自身的流控機制,TiKV 經過這種方式告知 tidb/ti-client 當前 TiKV 的壓力過大,稍後再嘗試,本案例是由於大批量drop致使的busy。
同時,咱們發現告警中包含了write_stall,關於write stall,一個 TiKV 包含兩個 RocksDB 實例,一個用於存儲 Raft 日誌,位於 data/raft。另外一個用於存儲真正的數據,位於 data/db。經過 grep "Stalling" RocksDB 日誌查看 stall 的具體緣由。
• level0 sst 太多致使 stall,能夠添加參數 [rocksdb] max-sub-compactions = 2(或者 3),加快 level0 sst 往下 compact 的速度。該參數的意思是將從 level0 到 level1 的 compaction 任務最多切成 max-sub-compactions 個子任務交給多線程併發執行,這個咱們如今開的是4。
• pending compaction bytes 太多致使 stall,磁盤 I/O 能力在業務高峯跟不上寫入,能夠經過調大對應 Column Family (CF) 的 soft-pending-compaction-bytes-limit 和 hard-pending-compaction-bytes-limit 參數來緩解:
• 若是 pending compaction bytes 達到該閾值,RocksDB 會放慢寫入速度。默認值 64GB,[rocksdb.defaultcf] soft-pending-compaction-bytes-limit = "128GB"。
• 若是 pending compaction bytes 達到該閾值,RocksDB 會 stop 寫入,一般不太可能觸發該狀況,由於在達到 soft-pending-compaction-bytes-limit 的閾值以後會放慢寫入速度。默認值 256GB,hard-pending-compaction-bytes-limit = "512GB"。
• 若是磁盤 IO 能力持續跟不上寫入,建議擴容。若是磁盤的吞吐達到了上限(例如 SATA SSD 的吞吐相對 NVME SSD 會低不少)致使 write stall,可是 CPU 資源又比較充足,能夠嘗試採用壓縮率更高的壓縮算法來緩解磁盤的壓力,用 CPU 資源換磁盤資源。
• 好比 default cf compaction 壓力比較大,調整參數 [rocksdb.defaultcf] compression-per-level = ["no", "no", "lz4", "lz4", "lz4", "zstd", "zstd"] 改爲 compression-per-level = ["no", "no", "zstd", "zstd", "zstd", "zstd", "zstd"]。
其實手冊裏已經寫得很詳細了,上面關於write stall的多個處理方式都是能夠借鑑的。
咱們在日誌中發現了以下內容:
2020/06/30-12:36:33.758200 7f3586fff700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 69565867323 rate 13421767 2020/06/30-12:36:34.692021 7f359727e700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 69653348050 rate 10737413 2020/06/30-12:36:34.692218 7f3597e7f700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 69653348050 rate 8589930 2020/06/30-12:36:35.767359 7f35887fd700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 69556916359 rate 10737412 2020/06/30-12:36:36.668152 7f35853ff700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 69372668753 rate 13421765 2020/06/30-12:36:36.668323 7f3587dfc700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 69372668753 rate 10737412 2020/06/30-12:36:37.834539 7f359727e700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 68959655469 rate 13421765 2020/06/30-12:36:37.834705 7f35965ff700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 68959655469 rate 10737412 2020/06/30-12:36:37.834780 7f35861fe700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 68959655469 rate 8589929 2020/06/30-12:36:37.834845 7f3586fff700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 68959655469 rate 6871943 2020/06/30-12:36:37.834912 7f3597e7f700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 68959655469 rate 5497554 2020/06/30-12:36:39.076138 7f35887fd700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 68881689347 rate 6871942 2020/06/30-12:36:40.659559 7f3587dfc700 [WARN] [db/column_family.cc:823] [write] Stalling writes because of estimated pending compaction bytes 68785639852 rate 8589927
這裏日誌很明顯是由於compaction到達了閾值限制,引起流控,進一步致使業務寫入產生了積壓。
監控裏也能看到相關超閾值的狀況:
這裏能夠看到max到了270
這裏可看出和drop後通過gc lifetime的時間是吻合的,11:35完成了drop操做,通過了gc life time週期以後(這個集羣是默認的10m),11:45出現了異常。
這裏能看出compaction相關的監控增加很是明顯,compaction pending bytes也能看出超出了閾值。
咱們經過tikv-ctl來對全部kv的進行在線配置,臨時調高其閾值,來避免由於流控引起的業務寫入積壓問題。soft_pending_compaction_bytes_limit默認64G,hard_pending_compaction_bytes_limit默認256GB。關於這兩個參數的含義,上文已經有作說明,當超過閾值時,主要是RocksDB的寫入速度會受到影響。
./tikv-ctl --host=tidb01:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb02:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb03:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb04:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb05:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb06:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb07:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb08:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb09:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb10:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb11:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb12:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb13:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb14:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb15:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb16:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb17:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb18:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb19:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb20:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=wtidb29:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=wtidb30:20160 modify-tikv-config -m kvdb -n write.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb01:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb02:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb03:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb04:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb05:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb06:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb07:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb08:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb09:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb10:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb11:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb12:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb13:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb14:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb15:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb16:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb17:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb18:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb19:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb20:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=wtidb29:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=wtidb30:20160 modify-tikv-config -m kvdb -n write.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb01:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb02:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb03:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb04:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb05:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb06:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb07:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb08:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb09:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb10:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb11:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb12:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb13:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb14:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb15:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb16:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb17:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb18:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb19:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb20:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=wtidb29:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=wtidb30:20160 modify-tikv-config -m kvdb -n default.soft_pending_compaction_bytes_limit -v 256GB ./tikv-ctl --host=tidb01:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb02:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb03:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb04:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb05:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb06:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb07:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb08:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb09:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb10:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb11:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb12:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb13:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb14:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb15:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb16:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb17:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb18:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb19:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=tidb20:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=wtidb29:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB ./tikv-ctl --host=wtidb30:20160 modify-tikv-config -m kvdb -n default.hard_pending_compaction_bytes_limit -v 512GB 29
改完後能看到QPS穩定了,以後逐漸恢復正常,同時write stall消失:
各種異常報警也恢復了正常。
等待compaction峯值小時後,要記得調回默認值,不然會致使compaction下不去,這時候佔用空間會比較大。
4
相關知識點
開啓Region Merge
從 TiDB v3.0 開始,Region Merge 默認開啓。本案例中的集羣版本是3.0.5,默認就開啓了。
drop table 後會有空 region ,會增長 raftstore 心跳的負載,經過開啓 Region Merge 能減小 Region 的個數。與 Region Split 相反,Region Merge 是經過調度把相鄰的小 Region 合併的過程。在集羣中刪除數據或者執行 Drop Table/Truncate Table 語句後,能夠將小 Region 甚至空 Region 進行合併以減小資源的消耗。
經過 pd-ctl 設置如下參數便可開啓 Region Merge:
pd-ctl config set max-merge-region-size 20 pd-ctl config set max-merge-region-keys 200000 pd-ctl config set merge-schedule-limit 8
相關配置介紹
max-merge-region-size
• 控制 Region Merge 的 size 上限,當 Region Size 大於指定值時 PD 不會將其與相鄰的 Region 合併。
• 默認: 20
max-merge-region-keys
• 控制 Region Merge 的 key 上限,當 Region key 大於指定值時 PD 不會將其與相鄰的 Region 合併。
• 默認: 200000
split-merge-interval
• 控制對同一個 Region 作 split 和 merge 操做的間隔,即對於新 split 的 Region 一段時間內不會被 merge。
• 默認: 1h
加速merge操做速度
Region Merge 速度慢也頗有多是受到 limit 配置的限制(merge-schedule-limit 及 region-schedule-limit),或者是與其餘調度器產生了競爭。具體來講,可有以下處理方式:
• 假如已經從相關 Metrics 得知系統中有大量的空 Region,這時能夠經過把 max-merge-region-size 和 max-merge-region-keys 調整爲較小值來加快 Merge 速度。這是由於 Merge 的過程涉及到副本遷移,因此 Merge 的 Region 越小,速度就越快。若是生成 Merge Operator 的速度很快,想進一步加快 Region Merge 過程,還能夠把 patrol-region-interval 調整爲 "10ms" ,這個能加快巡檢 Region 的速度,可是會消耗更多的 CPU 資源。
• 建立過大量表後(包括執行 Truncate Table 操做)又清空了。此時若是開啓了 split table 特性,這些空 Region 是沒法合併的,此時須要調整如下參數關閉這個特性:
• TiKV: split-region-on-table 設爲 false,該參數不支持動態修改。
PD:
• key-type 設爲 txn 或者 raw,該參數支持動態修改。
• key-type 保持 table,同時設置 enable-cross-table-merge爲 true,該參數支持動態修改。
注意:
若是刪除了不少數量的 table ,才須要修改上述參數,只刪除一個表或者量級不多就不須要開。
在開啓 placement-rules後,請合理切換 txn和 raw,避免沒法正常解碼 key。
• 對於 3.0.4 和 2.1.16 之前的版本,Region 中 Key 的個數(approximate_keys)在特定狀況下(大部分發生在刪表以後)統計不許確,形成 keys 的統計值很大,沒法知足 max-merge-region-keys 的約束。你能夠經過調大 max-merge-region-keys 來避免這個問題。
大批量刪除注意事項
在刪除大量數據的時候,建議使用 Delete * from t where xx limit 1000; 這樣的方案,經過循環來刪除,用 Affected Rows == 0 做爲循環結束條件。
若是一次刪除的數據量很是大,這種循環的方式會愈來愈慢,由於每次刪除都是從前向後遍歷,前面的刪除以後,短期內會殘留很多刪除標記(後續會被 GC 清理掉),影響後面的 Delete 語句。因此能夠考慮分區表和物理分表,咱們這邊測試發現物理分表的性能高於分區表,所以最終沒有采用分區表的方式。
流控
TiKV 在 3.0.6 版本開始支持 GC 流控,可經過配置 gc.max-write-bytes-per-sec 限制 GC worker 每秒數據寫入量,下降對正常請求的影響,0 爲關閉該功能。該配置可經過 tikv-ctl 動態修改:
tikv-ctl --host=ip:port modify-tikv-config -m server -n gc.max_write_bytes_per_sec -v 10MB
5
總結
經過本文,但願能幫助您瞭解到TiDB在刪除大批量數據時應該注意的問題,並提早進行規避,以及整個排查問題的思路,後續有相關大批量刪除的新注意事項,也歡迎您隨時提出,我會對文章進行補充,謝謝。
360雲計算
由360雲平臺團隊打造的技術分享公衆號,內容涉及數據庫、大數據、微服務、容器、AIOps、IoT等衆多技術領域,經過夯實的技術積累和豐富的一線實戰經驗,爲你帶來最有料的技術分享