Linux系统性能优化基础
Linux系统性能优化基础
性能优化原则
- 先监控,后优化
- 找到瓶颈点
- 一次只改一个参数
- 测试验证效果
性能监控工具
CPU监控
# 查看CPU使用率
top
htop
# 查看负载
uptime
# 查看CPU信息
lscpu
cat /proc/cpuinfo
# 查看进程CPU使用
ps aux --sort=-%cpu | head -10
内存监控
# 查看内存使用
free -h
# 查看详细内存信息
cat /proc/meminfo
# 查看内存使用最多的进程
ps aux --sort=-%mem | head -10
磁盘监控
# 查看磁盘IO
iostat -x 1
# 查看磁盘使用
df -h
# 查看IO最高的进程
iotop
网络监控
# 查看网络流量
iftop
nethogs
# 查看网络连接
ss -s
内核参数优化
/etc/sysctl.conf
# 网络优化
net.ipv4.tcp_max_syn_backlog = 8192
net.core.somaxconn = 4096
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65535
# 文件系统优化
fs.file-max = 2097152
fs.inotify.max_user_watches = 524288
# 内存优化
vm.swappiness = 10
vm.overcommit_memory = 1
vm.dirty_ratio = 30
应用配置
# 查看当前值
sysctl net.ipv4.tcp_max_syn_backlog
# 临时修改
sysctl -w net.ipv4.tcp_max_syn_backlog=8192
# 永久修改
echo "net.ipv4.tcp_max_syn_backlog = 8192" >> /etc/sysctl.conf
sysctl -p
文件描述符限制
# 查看当前限制
ulimit -n
# 临时修改
ulimit -n 65535
# 永久修改
# /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
# 或使用/etc/sysctl.conf
fs.file-max = 2097152
服务优化
Nginx优化
# 并发连接
worker_processes auto;
worker_connections 4096;
# 缓冲区
client_body_buffer_size 16k;
client_header_buffer_size 1k;
# Gzip压缩
gzip on;
gzip_types text/plain text/css application/json;
MySQL优化
# /etc/mysql/my.cnf
[mysqld]
innodb_buffer_pool_size = 4G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
max_connections = 500
实践:性能检查脚本
#!/bin/bash
echo "=== 系统性能检查 ==="
echo ""
echo "--- CPU ---"
uptime
echo ""
top -bn1 | head -5
echo ""
echo "--- 内存 ---"
free -h
echo ""
echo "--- 磁盘 ---"
df -h
echo ""
echo "--- 网络连接 ---"
ss -s
echo ""
echo "--- 文件描述符 ---"
cat /proc/sys/fs/file-nr
性能基线
# 建立性能基线
echo "=== 性能基线 ===" > /var/log/baseline.txt
date >> /var/log/baseline.txt
echo "" >> /var/log/baseline.txt
echo "CPU:" >> /var/log/baseline.txt
mpstat 1 3 >> /var/log/baseline.txt
echo "Memory:" >> /var/log/baseline.txt
free -h >> /var/log/baseline.txt
echo "Disk:" >> /var/log/baseline.txt
iostat -x 1 3 >> /var/log/baseline.txt
总结
性能优化是一个持续的过程。通过监控工具发现问题,使用内核参数和服务配置进行优化,可以显著提升系统性能。