官术网_书友最值得收藏!

Best practices for write durability

Writing durability can be fine tuned in MongoDB and according to our application design it should be as strict as possible without affecting our performance goals.

Fine tune data flush to disk interval: In the WiredTiger storage engine, the default is to flush data to disk every 60 seconds after the last checkpoint, or after 2 GB of data has been written. This can be changed using the --wiredTigerCheckpointDelaySecs command-line option.

In MMAPv1, data files are flushed to disk every 60 seconds. This can be changed using the --syncDelay command-line option:

  • With WiredTiger, use the XFS filesystem for multi-disk consistent snapshots
  • Turn off atime and diratime in data volumes
  • Make sure you have enough swap space, usually double your memory size
  • Use a NOOP scheduler if running in virtualized environments
  • Raise file descriptor limits to the tens of thousands
  • Disable transparent huge pages, enable standard 4K VM pages instead
  • Write safety should be at least journaled
  • SSD read ahead default should be set to 16 blocks, HDD should be 32 blocks
  • Turn NUMA off in BIOS
  • Use RAID 10
  • Synchronize time between hosts using NTP especially in sharded environments
  • Only use 64-bit builds for production; 32-bit builds are outdated and can only support up to 2 GB of memory

 

主站蜘蛛池模板: 中牟县| 田林县| 方城县| 涞源县| 定边县| 徐水县| 怀宁县| 灯塔市| 额尔古纳市| 宿州市| 柳河县| 高陵县| 青海省| 从化市| 西乌珠穆沁旗| 东乌珠穆沁旗| 葫芦岛市| 华安县| 类乌齐县| 庄河市| 襄樊市| 高邑县| 温州市| 项城市| 原平市| 西青区| 洛南县| 洪江市| 屏东市| 青铜峡市| 滁州市| 睢宁县| 松江区| 盘锦市| 宁晋县| 固始县| 弥渡县| 大理市| 兴安盟| 青阳县| 永胜县|