[LINUX] 查看連接數和IO負載


 

Iostat 是 sysstat 工具集的一個工具,需要安裝。
  Centos的安裝方式是:
  yum install sysstat
  Ubuntu的安裝方式是:
  aptitude install sysstat
  使用:
  iostat -dx 顯示磁盤擴展信息
  root@fileapp:~# iostat -dx
  r/s 和 w/s 分別是每秒的讀操作和寫操作,而rKB/s 和wKB/s 列以每秒千字節為單位顯示了讀和寫的數據量
  如果這兩對數據值都很高的話說明磁盤io操作是很頻繁。

 

一、查看哪些IP連接本機

netstat -an

二、查看TCP連接數

1)統計80端口連接數
netstat -nat|grep -i "80"|wc -l

2)統計httpd協議連接數
ps -ef|grep httpd|wc -l

3)、統計已連接上的,狀態為“established
netstat -na|grep ESTABLISHED|wc -l

4)、查出哪個IP地址連接最多,將其封了.
netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n

netstat -na|grep SYN|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n

 

------------------------------------------

 

首先 、用top命令查看

  top - 16:15:05 up 6 days,  6:25,  2 users,  load average: 1.45, 1.77, 2.14

  Tasks: 147 total,   1 running, 146 sleeping,   0 stopped,   0 zombie

  Cpu(s):  0.2% us,  0.2% sy,  0.0% ni, 86.9% id, 12.6% wa,  0.0% hi,  0.0% si

  Mem:   4037872k total,  4003648k used,    34224k free,     5512k buffers

  Swap:  7164948k total,   629192k used,  6535756k free,  3511184k cached

  查看12.6% wa

  IO等待所占用的CPU時間的百分比,高過30%時IO壓力高

  其次、 用iostat -x 1 10

  如果 iostat 沒有,要  yum install sysstat

  avg-cpu:  %user   %nice    %sys %iowait   %idle

  0.00       0.00     0.25    33.46    66.29

  Device:    rrqm/s  wrqm/s   r/s    w/s     rsec/s   wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util

  sda          0.00    0.00      0.00   0.00    0.00    0.00         0.00     0.00     0.00           0.00    0.00    0.00   0.00

  sdb          0.00   1122  17.00  9.00  192.00 9216.00    96.00  4608.00   123.79   137.23 1033.43  13.17 100.10

  sdc          0.00    0.00     0.00   0.00     0.00     0.00      0.00     0.00     0.00             0.00    0.00      0.00   0.00

  查看%util 100.10 %idle 66.29

  如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。

  idle小於70% IO壓力就較大了,一般讀取速度有較多的wait.

  同時可以結合vmstat 查看查看b參數(等待資源的進程數)

  vmstat -1

  如果你想對硬盤做一個IO負荷的壓力測試可以用如下命令

  time dd if=/dev/zero bs=1M count=2048 of=direct_2G

  此命令為在當前目錄下新建一個2G的文件

  我們在新建文件夾的同時來測試IO的負荷情況

  再通過如下腳本查看高峰的進程io情況

  monitor_io_stats.sh

  #!/bin/sh

  /etc/init.d/syslog stop

  echo 1 > /proc/sys/vm/block_dump

  sleep 60

  dmesg | awk '/(READ|WRITE|dirtied)/ {process[$1]++} END {for (x in process) \

  print process[x],x}' |sort -nr |awk '{print $2 " " $1}' | \

  head -n 10

  echo 0 > /proc/sys/vm/block_dump

  /etc/init.d/syslog start

  或者用iodump.pl腳本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM