zoukankan      html  css  js  c++  java
  • mongodb 参数优化

    1.大部分IO操作为随机IO,建议采用SSD或PCIE,普通硬盘RAID10

    2.IO调度算法。普通磁盘:deadline避免IO请求出现“饥饿”现象,SSD/PCIE:noop简单的先进先出处理请求。

      echo "noop" > /sys/block/sdxxxx/queue/scheduler        #SSD

      echo "deadline" > /sys/block/sdxxxx/queue/scheduler     #普通盘

      并添加至 /etc/rc.local 

      cat /sys/block/sdxxxx/queue/scheduler    #查看

    3.文件系统选择XFS

    4.磁盘挂载

      vim /etc/fstab

      /dev/vdc  /data1    xfs  defaults,noatime,nodiratime       1 2

    5.内存优化

      关闭大叶内存   echo "never" > /sys/kernel/mm/transparent_hugepage/enabled

             echo "never" > /sys/kernel/mm/transparent_hugepage/defrag

      numal设置        echo 0 > /proc/sys/vm/zone_reclaim_mode   

           并添加到/etc/rc.local

           mongodb节点启动 sudo -u mongo numactl --interleave=all mongod -f mongo.cnf

    6.NTP时间同步

    7.进程数限制

      vim /etc/security/limits.conf

      * soft nofile 65535

      *  hard nofile 65535

           *  soft   nproc 65535

           *  hard  nproc 65535

           *  soft    stack  1024

           *  hard   stack   1024

      vim /etc/security/limits.d/90-nproc.conf

      *  soft   nproc   65535

    8. mongo性能参数

      journal日志和data分开,journal不支持直接指定目录,可以创建软链接解决。

      wiredTigerCacheSizeGB=x  尽可能覆盖所有热数据

      storage.dirctoryPerDB=true  数据文件单独存储

      wiredTigerDirectoryForIndexes=true 索引文件单独存储

      wiredTigerCollectionBlockCompressor=snappy 集合压缩存储模式 zlib压缩最高

      journal=true

      安全参数

      nohttpinterface=true (<3.6版本)

      bind_ip_all_true (>=3.6) 配置节点访问范围

      keyFile=/dbPath/keyFile 指定集群间认证模式

        openssl rand -base64 66 -out keyFile

        chmod 600 keyFile && chown mongo.mongo keyFile

      setParameter=enableLocalhostAuthBypass=1  启用本地认证

      maxConns=65536 控制最大连接数

    参数配置模板

    fork =true  #后台运行

    port =7777

    quiet =true  # 方便排查问题

    dbpath = /data1/xxxx

    logpath=/data1/xxxx/xxx.log

    logappend =true

    journal=true

    nohttpinterface=true   #3.6后已经废弃

    directoryperdb=true

    wiredTigerDirectoryForIndexes=true

    bind_ip_all =true

    maxConns=65536

    profile=1  # 日志记录级别

    slowms=500    #慢查询记录时间(毫秒)

    replSet=rs   #备份集

    oplogSize=40960   #oplog大小

    keyFile=/data1/xxxx/keyFile 

    setParameter=enableLocalhostAuthBypass=1

    storageEngine=wiredTiger

    wiredTigerCacheSizeGB=1

    wiredTigerCollectionBlockCompressor=snappy

    #shardsvr=true   #配置节点角色  (>=3.4 shard节点专用)

    #configsvr=true    #指定config节点角色  (>=3.4 config节点专用)

    #configdb=mschost    #指定config配置信息 (mongos 节点专用)

  • 相关阅读:
    C#中使用Oracle存储过程返回结果集
    微信公众平台开发教程(九)微信公众平台通用开发框架
    微信公众平台开发教程(八)Session处理
    微信公众平台开发教程(七)安全策略
    微信公众平台开发教程(六)获取个性二维码
    微信公众平台开发教程(五)自定义菜单(含实例源码)
    微信公众平台开发教程(三) 基础框架搭建
    微信公众平台开发教程(一) 微信公众账号注册流程
    当"唐僧"没那么容易
    C#编程总结(六)异步编程
  • 原文地址:https://www.cnblogs.com/emmm233/p/10777849.html
Copyright © 2011-2022 走看看