linux性能分析

1》cpu:影响邮件服务器、动态web服务器等

2》内存:影响打印服务器、数据库服务器、静态web服务器

3》磁盘I/O性能:独立磁盘冗余阵列(磁盘阵列)

  RAID0:将多块磁盘粘合成一个容量更大的磁盘组,提高磁盘性能和吞吐量,成本低。至少需要2会磁盘,没有容错和数据修复功能,只能用在对数据安全性要求不高的环境中。

  RAID1:磁盘镜像,将一个磁盘的数据镜像到另外一个磁盘上,最大限度的保证磁盘数据的可靠性,数据冗余能力高,但磁盘利用率只有50%,成本高,多用在保存重要数据的场合

  RADI5:磁盘分段奇偶检验技术,提高系统的可靠性,读效率高,写效率一般,至少需要3块磁盘,允许一块磁盘故障,不影响数据的可用性。

  RAID0+1:把RAID0+RAID1技术结合起来,至少需要4块磁盘,每个盘都有镜像盘,提高冗余能力,并具有快速读写的能力

4》网络带宽

 

系统性能分析工具

常用命令:

  vmstat sar iostat netstat free ps top ...

  用vmstat、sar、iostat检测是否是cpu瓶颈

  用free、vmstat检测是否是内存瓶颈

  用iostat检测是否是磁盘I/O瓶颈

  用netstat检测是否是网络带宽瓶颈 

1》系统整体性能评估(uptime)

[root@room9pc01 ~]# uptime
 15:22:09 up  6:03,  4 users,  load average: 1.36, 1.68, 1.47

  说明:load average的3个值大小一般不能大于系统cpu的个数

2》cpu性能评估

  1.利用vmstat监控

[root@room9pc01 ~]# vmstat 2 3    # 每2秒更新信息,统计3次
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 599536 136872 3630880    0    0    29   115  152  160 18  3 75  5  0
 0  0      0 599240 136880 3630912    0    0     0   666 4940 8269 15  5 77  3  0
 1  0      0 598868 136888 3630904    0    0     0   118 4854 8314 14  4 80  1  0

  r列表示运行和等待cpu时间片的进程数,长期打一系统cpu个数,说明cpu不足,需要增加cpu

  b列表示正在等待资源的进程数,如等待I/O,内存交换等

  us列显示用户进程消耗的cpu时间百分比,长期大于50%,需要考虑优化程序或算法

  sy列显示内核消耗进程的cpu时间百分比。us+sy大于80%说明cpu资源不足

  

  2.利用sar命令监控   

[root@room9pc01 ~]# sar -u 3 5    # u 显示系统所有cpu在系统采用时间内的负载状态
Linux 3.10.0-327.el7.x86_64 (room9pc01.tedu.cn)     2019年02月16日     _x86_64_(4 CPU)

15时36分20秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
15时36分23秒     all     15.56      0.00      2.48      2.14      0.00     79.83
15时36分26秒     all     13.13      0.00      2.32      1.55      0.00     83.00
15时36分29秒     all     14.49      0.00      2.57      2.14      0.00     80.79
15时36分32秒     all     14.45      0.00      2.24      1.98      0.00     81.34
15时36分35秒     all     14.74      0.00      1.80      1.54      0.00     81.92
平均时间:     all     14.47      0.00      2.28      1.87      0.00     81.38

 

3》内存性能评估

  1.利用free命令监控 

[root@room9pc01 ~]# free -m      # 查看以m为单位的内存使用情况
              total        used        free      shared  buff/cache   available
Mem:          15768       11574         487         449        3706        3307
Swap:             0     

    说明;  应用程序可用内存/系统物理内存<20%表示系统内存资源紧缺,需增加系统内存

4》磁盘I/O性能评估(iostat)

  

[root@room9pc01 ~]# iostat -d 2 3 
Linux 3.10.0-327.el7.x86_64 (room9pc01.tedu.cn)     2019年02月16日     _x86_64_    (4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              39.73        97.63       440.73    2265678   10228156

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              34.83         0.00       409.95          0        824

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              33.50         0.00       272.00          0        544

 

 

查看tcp链接数

[root@room9pc01 ~]# netstat -an | awk '/^tcp/{++s[$NF]}END{for (a in s) print a,s[a]}'
LISTEN 22
CLOSE_WAIT 1
ESTABLISHED 4
SYN_SENT 6

查看连接数最多的ip

[root@room9pc01 logs]# ss -pant | grep ":80" | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr

 

[root@room9pc01 logs]# cat /etc/httpd/logs/access_log | awk '{print $1}' | sort | uniq -c | sort -nr | head -n 10

 

 

      

  

  

posted @ 2019-02-16 15:51  Ray_chen  阅读(348)  评论(1编辑  收藏  举报