Linux配置优化
引用来源:黑马大数据
- 1 Swappiness虚拟内存swappiness是Linux的一个内核参数,控制系统在使用swap虚拟内存时,内存使用的相对权重。swappiness参数值可设置范围在0到100之间。此参数值越低,就会让Linux系统尽量少用swap虚拟内存分区,多用内存;参数值越高就是反过来,使内核更多的去使用swap空间。推荐设置为10
根据服务器硬件配置会有变化
临时生效:sysctl-wvm.swappiness=10
永久生效:echo"vm.swappiness=10">>/etc/sysctl.conf
- 2关闭内存动态分配(内存页透明化)
自CentOS6版本开始引入了TransparentHugePages(THP透明的巨大的页面),从CentOS7版本开始,该特性默认就会启用。TransparentHugePages是在运行时动态分配内存的,而标准的HugePages是在系统启动时预先分配内存,并在系统运行时不再改变。因为TransparentHugePages是在运行时动态分配内存的,所以会带来在运行时内存分配延误。因此,尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP(比如说Cloudera、ORACLE、MariaDB、MongoDB等),否则可能会导致性能出现下降。
临时生效:echonever>/sys/kernel/mm/transparent_hugepage/defragechonever>/sys/kernel/mm/transparent_hugepage/enabled
永久生效:echo"echonever>/sys/kernel/mm/transparent_hugepage/defrag">>/etc/rc.localecho"echonever>/sys/kernel/mm/transparent_hugepage/enabled">>/etc/rc.local
- 3 最大文件句柄
MaximumFileHandles,大数据服务可能会打开非常大量的文件句柄。通过编辑/etc/security/limits.conf来增加限制,添加类似的内容:
*hardnofile50000
*softnofile50000
第一行是指定用户,前面的*代表所有用户。
- 4最大派生进程数
MaximumForkedProcesses,配置允许生成大量的线程。要增加Linux允许的数量,编辑/etc/security/limits.conf
*hardnproc10000
*softnproc10000
发行版Linux可能需要通过添加来编辑
/etc/security/limits.d/20-nproc.conf
*softnproc10000
- 5 TCPSocket端口数
增加可用的TCP套接字端口数(IncreasethenumberofTCPsocketportsavailable),如果你的流程会在很短的时间内创建并拆除大量socket,这一点尤为重要。
sudosysctl-wnet.ipv4.ip_local_port_range="1000065000"
- 6 缩减Socket闲置时间
socket连接闲置太长时间会影响并发量,设置socket在保持TIMED_WAIT状态的时间,能够快速创建和销毁新socket。
sudo sysctl-wnet.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait="1"
- 7 提高IO性能
默认的方式下linux会把文件访问的时间atime做记录,文件系统在文件被访问、创建、修改等的时候记录下了文件的一些时间戳,比如:文件创建时间、最近一次修改时间和最近一次访问时间;这在绝大部分的场合都是没有必要的。因为系统运行的时候要访问大量文件,如果能减少一些动作(比如减少时间戳的记录次数等)将会显著提高磁盘IO的效率、提升文件系统的性能。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090如果遇到机器IO负载高或是CPUWAIT高的情况,可以尝试使用noatime和nodiratime禁止记录最近一次访问时间戳。你会发现吞吐量有惊人的提高。比如我要在根文件系统使用noatime,可以编辑/etc/fstab文件,如下:
/dev/mapper/centos-root/
xfsdefaults,noatime 0 0 UUID=47f23406-2cda-4601-93b6-09030b30e2dd/boot
xfs defaults00/dev/mapper/centos-swap
swap swap defaults 0 0
- 8 时间同步
安装ntp软件:sudoyum-yinstallntp
同步时间:ntpdatetime.nist.gov
查看当前服务器时间:date
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
网友评论