提高 Linux 服务器性能

Linux 服务器主要资源

CPU,内存,磁盘,网络

提高 Linux 性能的具体方法

  • 确保系统拥有足够的内存
  • 使用 SSD 更换 HDD
  • 配置系统和应用:将数据分散在多块磁盘,不动态执行 DNS 查询,运行多个服务器实例
  • 检查实际工作:删除不需要的守护进程,不要运行过多的服务,改变批处理和大型作业的优先级和运行时机
  • 组织硬盘和文件系统,使负载均衡,最大化 I/O 吞吐量:如对数据库应用 RAID 磁盘
  • 使用负载均衡器将网络流量分散到多个应用服务器
  • 监控网络,确保带宽未饱和,错误率保持在低位
  • 找出系统根本无法满足不了的需求

盘点设备

  • CPU 类型和描述 lscpu more /proc/cpuinfo
  • 内存大小和使用情况 more /proc/meminfo
  • 磁盘设备和使用统计 cat /proc/diskstats
  • 网络流量和误码率 cat /proc/net/dev

分析 CPU 使用情况

vmstat 10 10

  • us 用户时间,数值大表明计算量大
  • sy 系统时间,数值大表明大量的系统调用或 I/O 操作
  • id 空闲时间;wa I/O 等待时间; st 从虚拟机窃取时间
  • cs 上下文切换;in 中断次数。这 2 者大说明硬件设备工作不当或配置错误。

mpstat -P ALL 查看多个 CPU 效率

uptime 查看系统平均负载
输出的 3 个值分别对应于 1 分钟,5 分钟,15 分钟内的平均负载。

ps -aux top 查看进程占用 CPU
小心 top 本身占用大量的 CPU

分析内存使用情况

free 查看内存大小

vmstat 10 10

  • swpd 虚存空间
  • free 空闲空间
  • buff 缓冲空间
  • cache 缓存空间
  • si 内存<--磁盘
  • so 内存-->磁盘
    如果 si 和 so 数值大,说明系统持续不断地换出页面,增加更多的物理内存有助于提高性能。

分析磁盘 I/O

lsblk -o +MODEL,SERIAL 查看分区,文件系统,设备型号和序列号

df -h 查看各分区总量与使用

du -sh /home 查看 home 目录下文件总大小
du --max-depth=1 /home | sort -rn 列出 home 下一级目录文件总大小
du -S /home | sort -rn | head -n 10 列出 home 目录下前 10 个大户

iostat

  • tps 每秒传输次数
  • kB_read/s 每秒读取数量
  • kB_wrtn/s 每秒写入数量
  • kB_read 总共读取数量
  • kB_wrtn 总共写入数量

分析网络 I/O

nload 输出当前网速

ss -s 按网络传输类型显示总体统计信息

sudo netstat -tunlp 查看服务端口

sudo iftop 查看网络带宽使用

  • 按下 p 根据端口号显示
  • 按下 t 发送和接受合成一行
  • 按下 T 显示总量

延伸阅读:三张图看遍Linux 性能监控、测试、优化工具

posted @ 2021-08-31 09:09  KevinAshton  阅读(73)  评论(0编辑  收藏  举报