zoukankan      html  css  js  c++  java
  • 解决性能瓶颈的一些思路

    问题:服务器为何极限压力<1000?

    1、采用简单Server模型

    2、接收query->计算->应用cache(读写文件)->返回结果

    3、返回结果数据量50KB-200KB

    CPU是否为瓶颈?

    方法一:

    #vmstat 1 

    查看idle值,看CPU是否为瓶颈

    方法二:

    #mpstat -P ALL 1

    方法三:top

    查看iowait

    小结:CPU利用率

    一、总CPU利用率---vmstat

    二、每个CPU核的利用率---mpstat

    三、每个进程的CPU利用率---top/pidstat

    四、信息来源:/proc/stat和/proc/$pid/stat

    MEM是否为瓶颈?

    方法 一:

    free -m 

    方法 二:

    cat /proc/meminfo 和free

    top可以看哪个进程使用

    cat /proc/slabinfo 内核内存总体使用情况

    cat /proc/buddyinfo

    网络是否为瓶颈?

    一、查看网络流量  sar命令

    sar -n DEV 1 100 -网卡流量

    sar -n EDEV 1 100 -网卡丢包

    数据来源: /proc/net/dev

    二、链路层  ethtool

    ethtool -S eth0  -网卡丢包

    ethtool eth0

    ethtool -i eth0

    ethtool -p eth0 N sec

    ethtool -K eth0  查看网卡高级功能开启情况

    数据来源:ioctl() 从网卡硬件中读取 

    三、TC层    

    tc -s qdisc show   -TC丢包

    数据来源:socket(AF_NETLINK, SOCK_RAW, ...)

    四、tcp/IP层

    netstat -s   -IP丢包

    数据来源:/proc/net/netstat , /proc/net/snmp

    IO是否成为瓶颈?

    一、iostat -x 1

    数据来源:iostat - /proc/diskstats

    二、iotop

  • 相关阅读:
    推荐一个css抖动库
    八佰
    如何将猫猫监控放在博客上
    一个springboot注解不成功的小问题
    vue整理
    springboot整理
    国外服务器:org.xml.sax.SAXParseException
    记一次tomcat运行起来了但是项目没起来的问题
    一个狗血的mysql编码错误
    js中for(var key in o ){};用法小记
  • 原文地址:https://www.cnblogs.com/aiguang/p/3570930.html
Copyright © 2011-2022 走看看