Mongodb

如何為wiredTiger concurrentTransactions 設置正確的值

  • August 27, 2019

我在具有 7 個處理器和 15 Gb 的伺服器中有一個實例。wiredTigerConcurrentReadTransactions和的值預設為wiredTigerConcurrentWriteTransactions128。

但是值是預設值,如何計算理想值ConcurrentTransactions

$$ Reference $$ https://www.datadoghq.com/blog/monitoring-mongodb-performance-metrics-wiredtiger/

https://docs.mongodb.com/manual/reference/parameters/#param.wiredTigerConcurrentReadTransactions

讀/寫票據值設置為 128,以防止並發請求壓倒 WiredTiger。選擇它們是為了迎合典型的伺服器硬體。通常不建議更改這些值。

如果您看到停頓並觀察到讀/寫票證已用完,則極有可能這只是一種症狀。失速的原因通常在其他地方。

幾個例子:

  1. 慢速磁碟會導致寫入請求堆積,因為它們的服務速度不夠快。如果由於儲存引擎似乎一直在達到票數限製而增加了讀/寫票證,那麼實際上會發生的是您對磁碟施加了更大的壓力,這將導致進一步的延遲。在這種情況下,正確的補救措施是提供更快的磁碟。
  2. 您在 AWS 中有一個部署。在一天的大部分時間裡,讀寫進展順利。寫入負載有所增加,但係統可以很好地處理它。突然,事情開始停滯不前,您會看到讀/寫票證顯然無緣無故地用盡了。在大多數這樣的情況下,根本原因是因為磁碟已通過其分配的突發 IOPS 並受到 AWS 的限制。可以想像,在這種情況下增加讀/寫票號並沒有幫助,而且會使事情變得更糟。

總之,您實際上並不需要調整讀/寫票證。如果您發現它經常耗盡,請檢查工作堆積並等待儲存引擎的可能原因。

引用自:https://dba.stackexchange.com/questions/246225