美文网首页部署运维
Web系统性能调优

Web系统性能调优

作者: Docker系统管理员 | 来源:发表于2017-11-10 16:40 被阅读10次

    系统很慢,是我们对性能出现瓶颈的直观感受。那么怎样诊断一个变慢了的系统的性能瓶颈呢?

    CPU

    1.top

    可以查看CPU的整体使用率和空闲率

    top -n 1只显示一次,查看进程消耗的CPU占比。

    2. 查看CPU的数量/proc/cpuinfo和lscpu

    3. 查看感兴趣进程的更多信息ps -lf3001

    4. 查看此进程机器父进程的更多信息ps -o state,user,pid,ppid,nice,%cpu,cmd -p 3000,3001

    5. 查看更多ps --forest -eouser,pid,ppid,%cpu,cmd

    Memory:

    free查看内存使用情况

    查看 out of memory killer情况。journalctl | grep "Out of memory"。

    检查某个特定进程的 memory 使用情况ps -eouser,pid,ppid,%mem,rss,vsize,comm | grep PROCESS_NAME

    vmstat-n 10 5

    Disk:

    1.iostat-x 10 3查看是否有I/O带宽平并。跟vmstat一样,不要看第一次输出,那是从开机到目前的平均值,从第二次输出看起。

    iowait值很高,CPU在等I/O,当然这并不意味着就是在等磁盘。

    r/s ,w/s 便是没秒完成的读和写,await表示请求等待的平均时间(毫秒),%util表示此设备出来I/O请求用的CPU百分比。

    2.mount命令查看挂载的磁盘

    3. 如果找不到可以用ls -la /dev/dm-1

    find -L /dev -samefile/dev/dm-1寻找所有链接到 .dev.dm-1的链接。

    4.lvdisplay显示逻辑卷,用pvdisplay查看逻辑卷背后的物理卷。

    5. 查找处于Uninterruptible sleep的进程,因为其可能占用很多I/O。ps -elf | grep " D "。再次用ps -elf --forest获得用户启动的处于D状态的进程的详细信息。

    6. 查看相关进程机器父进程使用了多少I/O,cat /proc/PROCESS_ID/io

    7.ps -elf | grep PROCESS_NAME查看进程id是否变化,查看此进程是否是一个存活时间很短的进程。

    8. 用iotop来查看那些进程使用I/O最多。

    Network:

    ifstat跟vmstat和iostat一样,都需要从第二个输出看。

    历史统计数据比较

    /etc/cron.d/sysstat设置了sysstat定时运行的计划,/etc/sysstat/sysstat中可以查看到日志文件保存的目录。/var/log/sa/和/var/log/sysstat/分别是RHEL7和Ubuntu 16.04的默认log存放路径。

    sar也可以查看iostat, top 以及vmstat查看到的信息。

    CPU:

    sar -u,查看某一天(7日)的用sar -f /var/log/sysstat/sa07 -u。

    Memory:

    sar -r

    Disk:

    sar -d -p

    Network:

    sar -n DEV

    相关文章

      网友评论

        本文标题:Web系统性能调优

        本文链接:https://www.haomeiwen.com/subject/gqabmxtx.html