zoukankan      html  css  js  c++  java
  • 提高 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 显示总量
  • 相关阅读:
    C++ 11 lambda
    Win环境下的文件读写
    基于 Jenkins+Docker+Git 的CI流程初探
    python切片操作
    k8s 集群中的etcd故障解决
    Git 版本控制管理(二)
    Git 版本控制管理(一)
    Harbor 企业级镜像仓库搭建
    docker 数据管理
    docker 网络的几种模式
  • 原文地址:https://www.cnblogs.com/rimelink/p/15208782.html
Copyright © 2011-2022 走看看