GBase 8a 服务器节点设置推荐 -操作系统

为发挥GBase 8a集群的最佳性能,部署时需对操作系统的部分参数做一些调整修改,详细设置如下表:

参数项

设置值

含义

vm.vfs_cache_pressure

1024

表示内核回收用于directory和inode cache内存的倾向,默认值为100,增加该值超过100,将导致内核倾向于回收directory和inode cache;集群服务器设置此操作系统参数为1024,使操作系统倾向于回收directory和inode cache,避免定时执行sync&&sync&&echo 3>/proc/sys/vm/drop_caches操作

vm.min_free_kbytes

8388608

表示强制Linux 操作系统为VM文件系统最低保留多少空闲内存(Kbytes),此参数设置为8G大小可以避免因gbase库进程占用大量内存导致异常

kernel.core_uses_pid

1

控制核心转储是否附加PID的核心文。用于调试多线程应序件。

net.ipv4.tcp_syncookies

1

控制 TCPsyncookies的使用。

net.ipv4.ip_local_reserved_portss

5050,5258,5288,6666

防止数据库需要使用的端口被其他程序强行占用

vm.zone_reclaim_mode

0

配置vm.zone_reclaim_mode = 0使得内存不足时去remote memory分配优先于swap out local page

vm.swappiness

1

swappiness参数为swap内存使用倾向,60代表内存剩余60%时会使用swap,设置为1表示强制使用物理内存。

net.core.netdev_max_backlog

262144

每个网络接口收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包最大目。

vm.overcommit_memory

0

检查是否有足够的内存可用,如果是,允许分配;如内存不够拒绝该请求,并返回一个错误给应用程序。

net.core.rmem_default

8388608

接收套字缓冲区大小的默认值(以字节为单位 )

net.core.rmem_max

16777216

接收套字缓冲区大小的最大值(以字节为单位 )

net.core.somaxconn

65536

用来限制监听(LISTEN)队列最大数据包的数量,超过这个就会导致链接超时或者触发重传机制。

net.core.wmem_default

8388608

发送套字缓冲区大小的默认值(以字节为单位 )

net.core.wmem_max

16777216

发送套字缓冲区大小的最大值(以字节为单位 )

net.ipv4.tcp_fin_timeout

1

如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAITT-2状态的时间。对端可以出错并永远不关闭连接,甚至意外当机。缺省值是60秒。

net.net.ipv4.tcp_max_orphans

3276800

系统中最多有少个TCP套接字不被关联到任何一个用户文件句柄上。如果超过这个数字,孤儿连接将即刻被复位并打印出警告信息。这个限制仅仅是为了防止简单的 仅是为了防止简单的DoS攻击,不能过分依靠它或者人为地减小这个值, 更应该增加这个值(如果增加了内存之后 )。

net.ipv4.tcp_max_syn_backlog

262144

表示那些尚未收到客户端确认信息的连接( SYN 消息)队列的长度,默认为 1024,加大队列长度为 ,加大队列长度为262144,可以容纳更多等待连接的网络连接数。

net.ipv4.tcp_max_tw_buckets

20000

系统在同时所处理的最大timewait sockets数目。如果超过此的话time-wait socket会被立即删除并且显示警告信息。之所以要设定这个 且显示警告信息。之所以要设定这个限制,纯粹为了抵御那些简单的Dos攻击,千万不要人为的降低这个限制攻击,不过如果网络条件需要比默认值更多,则可以提高它 (或许还要增加内存)。

net.ipv4.tcp_mem

94500000 915000000 927000000

第一个值是内存使用的下限。第二个值是内存压力模式开始对缓冲区使用的上限。第三个值是内存应用压力的上 限。第三个值是内存上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。

net.ipv4.tcp_rmem

4096 87380 4194304

TCP 接收缓冲区,3个字段分别是 min,default,max。MIN:为TCP socket预留用于接收缓冲的内存数量,即使在内存出现紧张情况下TCP socket都至少会有这么多数量的内存用于接收。

net.ipv4.tcp_timestamps

0

时间戳可以避免序列号的卷绕。一个 1Gbps 1Gbps的链路肯定会遇到以前用过的序列号。时间戳能够让内核接受这种 “异常”的数据包。

net.ipv4.tcp_tw_recycle

1

开启 TCP 连接中 TIME-WAIT sockets的快速回收,默认为0,表示关闭。

net.ipv4.tcp_wmem

4096 87380 4194304

TCP发送缓冲区,3个字段分别是 min, default,max。Min:为 TCP socket预留用于发送缓冲的内存最小值。每个 TCP socket都可以使用它。

net.ipv4.tcp_tw_reuse

1

表示是否允许重新应用处于 TIME-WAIT 状态的socket用于新的TCP连接。

net.ipv4.tcp_sack

1

表示是否启用有选择的应答 (Selective Acknowledgment),这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段);(对于广域网通 信来说)这个选项应该启用,但是会增加对 CPU的占用。

net.ipv4.tcp_window_scaling

1

支持更大的TCP窗口。 如果TCP窗口最大超过 65535(64KB), 必须设置该数值为1。

ulimit虚拟内存配置

/etc/security/limits.conf,添加如下两行,操作系统重启后生效:
* soft as unlimited
* hard as unlimited

虚拟内存不足会造成的运算缓慢

ulimit内存配置

/etc/security/limits.conf,添加如下内容
操作系统重启后生效:
* rss as unlimited

内存不足时杀掉进程

ulimit打开文件数配置

/etc/security/limits.conf,添加如下内容
操作系统重启后生效:
*       soft    nofile  655360
*       hard    nofile  655360

文件句柄数不足集群使用报错

透明页 transparent_hugepage

never

为保证数据库高效运行,需要关闭 transparent_hugepage 参数

服务器操作系统IO调度器

deadline

GBase集群服务器需要将IO调度器(IO elevator)配置为deadline以提升小文件读写IO效率

selinux

disabled

要求各节点禁用 SELINUX

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值