zoukankan      html  css  js  c++  java
  • 高可用架构

    性能评估的要点

    • CPU

    主要工具:vmstat

    • 内存

    主要工具:free

    • 磁盘I/O

    主要工具:iostat、sar

    • 网络I/O

    主要工具:ifstat

    • 系统整体性能

    主要工具:top

    CPU 评估

    vmstat 命令结果分析:

    • procs

    r 运行和等待CPU时间片的进程数,。

    b 等待资源的进程数。

    • swap

    si 每秒从磁盘读入虚拟内存的大小。

    so 每秒虚拟内存写入磁盘的大小。

    • cpu

    us 用户进程CPU使用率。

    sy 系统CPU使用率。

    id 空闲CPU使用率。

    id + us + sy = 100

    经验:

    • procs:r 如果长期大于CPU的个数,说明CPU遇到瓶颈。

    • procs:b 值越高,系统压力越大。

    • swap:si 如果这个值大于0,表示物理内存不够用或者内存泄露了。

    • cpu:us 值越高,说明用户进程消耗CPU时间越多,如果长期大于50%,需要考虑优化程序。

    • cpu:sy 如果太高,表示系统调用时间长,例如是IO操作频繁。

    • 如果 us + sy 大于80%,说明可能存在CPU不足。

    内存评估

    free 命令重点指标:free(应用程序可用内存数量)。

    经验

    • "free/total > 70%" 内存充足。
    • "free/total < 20%" 内存不足。
    • "20% < free/total < 70%" 内存基本够用。

    磁盘I/O评估

    iostat 命令结果分析:

    • rkB/s 每秒读取数据量kB
    • wkB/s 每秒写入数据量kB
    • svctm I/O请求的平均服务时间,单位毫秒
    • await I/O请求的平均等待时间,单位毫秒,值越小,性能越好
    • util 1秒中有百分几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满。

    经验

    • rkB/swkB/s 的值如果长期较高,说明持续有大量数据读写,需要警惕。
    • svctmawait 值相近时,说明几乎没有I/O等待,磁盘性能好。如果 await 远高于 svctm,说明I/O队列等待太长,需要优化程序或更换磁盘。

    网络I/O评估

    ifstat 命令结果分析:

    • RX Pkts/Rate 数据包接收流量
    • RX Errs/Drop 丢包
    • TX Pkts/Rate 数据包发送流量
    • RX Data/Rate 数据接收流量
    • TX Data/Rate 数据发送流量

    系统整体性能评估

    top 命令重要指标:load average,表示任务队列的平均长度(1分钟、5分钟、15分钟前到现在平均值)。

    经验:

    这3个值的大小一般不能大于系统CPU的核数,如果长期大于CPU的核数,说明CPU很繁忙,负载很高。

    例如图中有2个CPU,那么健康值为:load average < 2

  • 相关阅读:
    wifi详解(四)
    wifi详解(三)
    wifi详解(二)
    wifi详解(一)
    Linux下GPIO驱动
    wpa_cli调试工具的使用
    WAPI
    java spring使用Jackson过滤
    JPA 一对多双向映射 结果对象相互迭代 造成堆栈溢出问题方法
    Javassist指引(二)--ClassPool
  • 原文地址:https://www.cnblogs.com/yogoup/p/11980757.html
Copyright © 2011-2022 走看看