注册
服务器优化
技术分享/ 文章详情 /

服务器优化

达梦技术-郭洋 2025/04/03 42 0 0

安装前准备工作
一、环境沟通确认
CPU 型号:
lscpu --(Intel /鲲鹏/飞腾/龙芯)
cat /proc/cpuinfo|grep name|cut -f2 -d:|uniq -c --(Intel /飞腾/龙芯)

二、环境检查与修改

2.1 防火墙的关闭与开启。
##关闭防火墙
[root@~]# systemctl stop firewalld
##关闭开机自启
[root@~]# systemctl disable firewalld

2.2 关闭 SELinux
##临时关闭 SELinux:
[root@localhost ~]# setenforce 0
##临时开启 SELinux:
[root@localhost ~]# setenforce 1
##查看当前状态命令:
[root@localhost ~]# getenforce
Permissive
##永久关闭 SELinux 需修改配置文件:/etc/selinux/config,修改 SELINUX=disabled

2.4 网络
##网络配置以及速度是否正常
ethtool eth1

##查看网络信息
sar -n DEV 1 100
#备注:
#IFACE 本地网卡接口的名称
#rxpck/s 每秒钟接受的数据包
#txpck/s 每秒钟发送的数据库
#rxKB/S 每秒钟接受的数据包大小,单位为 KB
#txKB/S 每秒钟发送的数据包大小,单位为 KB
#rxcmp/s 每秒钟接受的压缩数据包
#txcmp/s 每秒钟发送的压缩包
#rxmcst/s 每秒钟接收的多播数据包

2.5 磁盘规划及挂载

fdisk /dev/vdb g n w
mkfs.xfs /dev/vdb1

##是否自动挂载
cat /etc/fstab
##查看实际挂载盘

mount -a

lsblk

2.6 磁盘 IO

dd bs=32k count=20k if=/dev/zero of=test oflag=dsync

2.7 磁盘调度算法
##检查 sda 磁盘的调度算法
[root@~]# cat /sys/block/sdb/queue/scheduler

##临时更改 I/O 调度方法,重启后失效
[root@~]# echo deadline > /sys/block/vdc/queue/scheduler
##永久修改
##修改内核引导参数,加入 elevator= deadline
[root@~]# vi /boot/grub/menu.lst
##更改到如下内容
kernel /boot/vmlinuz-2.6.32-504.el6 ro root=LABEL=/ elevator=deadline rhgb quiet
##重新确认调度算法
[root@~]# cat /sys/block/vdc/queue/scheduler

2.8 关闭 swap

##临时关闭 swap 分区,重启后失效
[root@~]# swapoff -a
##永久关闭 swap 分区
[root@~]# sed -ri ‘s/.swap./#&/’ /etc/fstab
##重启操作系统
[root@~]# reboot
##再次确认
[root@~]# free -m

2.9 关闭 numa&禁用透明大页

##编辑 grub 文件,如下图所示加上:numa=off transparent_hugepage=never
[root@~]# vi /etc/default/grub

##重新生成 /etc/grub2.cfg 配置文件:
[root@~]# grub2-mkconfig -o /etc/grub2.cfg

##重启操作系统
[root@~]# reboot

##重启之后进行确认
[root@~]# dmesg | grep -i numa

##再次确认
[root@~]# cat /proc/cmdline

2.10 禁用透明大页

Centos 系统
##临时修改
##查看是否启用透明大页
[root@~]# cat /sys/kernel/mm/transparent_hugepage/enabled
##[always]表示透明大页启用 [never] 表示透明大页禁用
##禁用透明大页
[root@~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
临时修改与永久修改

##再次确认
[root@~]# cat /sys/kernel/mm/transparent_hugepage/enabled
##永久修改
##编辑grub文件,在 “GRUB_CMDLINE_LINUX=” 配置参数结尾加入 “transparent_hugepage=never”,如下图所示加上:transparent_hugepage=never
[root@~]# vi /etc/default/grub

##重新生成 /etc/grub2.cfg 配置文件:
[root@~]# grub2-mkconfig -o /etc/grub2.cfg

##重启操作系统
[root@]# reboot
##再次确认
[root@]# cat /sys/kernel/mm/transparent_hugepage/enabled

2.11 调整 sysctl.conf 参数

##临时生效
##使用 root 执行命令:
[root@dm~]# echo 0 > /proc/sys/vm/overcommit_memory
##查看执行结果:
[root@dm~]# cat /proc/sys/vm/overcommit_memory

##永久生效
##用root用户编辑配置文件编辑/etc/sysctl.conf
[root@dm~]# vim /etc/sysctl.conf
##修改vm.overcommit_memory=0

然后执行 sysctl -p 使配置文件生效:

2.12 调整 limits.conf 参数

临时修改和永久修改

##查询当前系统资源限制
[dmdba@~]# ulimit -a

##设置open files 65536 以上或 unlimited、设置 max user processes为65536
[dmdba@]# ulimit -n 65536 ##临时修改 open files 为65536
[dmdba@]# ulimit -u 65536 ##临时修改 max user processes为65536
[dmdba@~]# ulimit -a ##查看修改是否生效

• 永久修改

##编辑 limits.conf 文件
[root@~]# vi /etc/security/limits.conf
##在最后面添加以下内容

  • soft nproc 65536
  • hard nproc 65536
  • soft nofile 65536
  • hard nofile 65536

dmdba soft nice 65536
dmdba hard nice 65536
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft data unlimited
dmdba hard data unlimited

[dmdba@~]# ulimit -a ## 确认是否生效

##重启操作系统
[root@]# reboot
##再次确认
[dmdba@]# ulimit -a

2.13 调整 system.conf 参数

##编辑配置文件 /etc/systemd/system.conf
[root@dm~]# vim /etc/systemd/system.conf
##添加配置:
DefaultLimitNOFILE=65536
DefaultLimitNPROC=10240

2.16 创建数据库用户

[root@]# groupadd dinstall -g 2001
[root@]# useradd -g dinstall dmdba -u 1001
[root@]# passwd dmdba
[root@]# --<输入密码>
[root@~]# --<再次输入密码>

2.17CORE文件路径修改

##创建core文件生成路径

mkdir -p /home/dmdba/core

chown -R dmdba:dinstall /home/dmdba/core

##调整core文件路径

##vi /etc/sysctl.conf 添加对应core文件参数

kernel.core_pattern =/home/dmdba/core/core-%e-%p-%s

执行 sysctl -p 进行生效

#手动产生core文件,并查看core文件路径是否在/home/dmdba/core下

(1) kill -s SIGSEGV $

(2) 或者在问题报告单中查找对应版本的bug,利用bug验证core文件生成

2.18. 增加limits.conf读取权限
为保证数据库的性能,需要对dmdba用户增加/etc/security/limits.conf文件的读取权限。

通过root用户执行如下命令:

chmod a+x /etc/security

chmod a+r /etc/security/limits.conf

权限:
chown -R dmdba:dinstall /dmdata

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服