# 编辑sysctl配置文件
sudo vi /etc/sysctl.conf
# 添加或修改以下参数
vm.swappiness = 10 # 减少swap使用
vm.dirty_ratio = 10 # 减少脏页比例
vm.dirty_background_ratio = 5 # 后台脏页比例
net.ipv4.tcp_fin_timeout = 30 # 缩短FIN超时
net.ipv4.tcp_tw_reuse = 1 # 启用TIME-WAIT重用
net.ipv4.tcp_max_syn_backlog = 8192 # SYN队列大小
net.core.somaxconn = 32768 # 最大连接数
# 应用配置
sudo sysctl -p
# 查看当前挂载选项
mount | grep "^/dev"
# 在/etc/fstab中添加noatime和nodiratime选项
/dev/sda1 / ext4 defaults,noatime,nodiratime,barrier=0 1 1
# 对于SSD,可以添加discard选项启用TRIM
/dev/sdb1 /data ext4 defaults,discard 1 2
# 查看所有服务
systemctl list-unit-files --type=service
# 禁用不必要服务示例
sudo systemctl disable postfix.service
sudo systemctl disable cups.service
# 编辑服务单元文件
sudo systemctl edit nginx.service
# 添加资源限制
[Service]
MemoryLimit=512M
CPUQuota=80%
# 添加到/etc/sysctl.conf
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = cubic
# 对于高并发服务器
echo 65536 > /proc/sys/net/netfilter/nf_conntrack_max
# 查看当前调度器
cat /sys/block/sda/queue/scheduler
# 设置为deadline或noop(SSD)
echo "deadline" > /sys/block/sda/queue/scheduler
# 永久设置
grubby --update-kernel=ALL --args="elevator=deadline"
# 编辑/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
# 对于特定用户
nginx soft nofile 65535
nginx hard nofile 65535
# 查看当前模式
getenforce
# 设置为permissive模式(测试性能影响)
sudo setenforce 0
# 永久修改
sudo vi /etc/selinux/config
SELINUX=permissive
# 减少审计日志量
sudo vi /etc/audit/auditd.conf
max_log_file = 50 # MB
num_logs = 4
sudo yum install -y htop iotop iftop sysstat
sudo yum install -y logrotate
# 配置/etc/logrotate.conf和/etc/logrotate.d/下的特定服务配置
Web服务器优化:
数据库优化:
缓存策略:
这些优化应根据实际服务器负载和应用需求进行调整,建议在更改生产环境前先在测试环境验证效果。