Webmin 是一個基於瀏覽器的管理工具,能夠應用於Linux 和其餘一些平臺,提供了能夠完成不少管理和操做任務的圖形化界面html
•安裝完成後,root 用戶會被自動建立,密碼爲系統的root密碼node
(下載地址:URL:http://www.webmin.com/)linux
安裝步驟: rpm -ivh webmin-1.250-1.noarch.rpmios
使用步驟:Http://ip:10000/nginx
-----------------------------------------------------------------------------------web
1). 敲入 /etc/init.d/iptables stop,關閉以後再次查看80.112.*.*:8080(即ip:8080),能夠成功訪問。算法
可是貌似安全隱患大大增長……apache
2). 敲入 /etc/init.d/iptables status,查看防火牆信息,能夠看到打開的端口windows
3).若是隻需 把要使用的端口打開,命令以下:瀏覽器
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT #8080爲指定端口
4). /etc/rc.d/init.d/iptables save #將更改進行保存
5). /etc/init.d/iptables restart #重啓防火牆以便改動生效
還有另外直接在 /etc/sysconfig/iptables中增長一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
中止防火牆 service iptables stop (iptables –F 關閉防火牆)
啓動防火牆 service iptables start
查看防火牆配置 iptables -L -n
chkconfig iptables on //永久性啓動防火牆
chkconfig iptables off //永久性關閉防火牆
----------------------------------------------------------------------------
1、安裝步驟
一、使用which gcc命令查看gcc是否安裝安裝
二、如若沒有安裝則下載以下安裝包,所需安裝包以下
一共須要拷貝如下五個安裝包:
binutils-2.13.90.0.18-9.i386.rpm
glibc-devel-2.3.2-11.9.i386.rpm
cpp-3.2.2-5.i386.rpm
glibc-kernheaders-2.4-8.10.i386.rpm
gcc-3.2.2-5.i386.rpm
安裝順序以下:(如若在rpmp安裝過程當中出現依賴關係,則增長—nodeps參數)
Rpm –ivh binutils-2.13.90.0.18-9.i386.rpm
Rpm -ivh cpp-3.2.2-5.i386.rpm
Rpm -ivh glibc-kernheaders-2.4-8.10.i386.rpm
Rpm -ivh glibc-devel-2.3.2-11.9.i386.rpm
Rpm -ivhgcc-3.2.2-5.i386.rpm
1、安裝apache(http服務)
1. 從apache.org下載源碼安裝包
2. 解壓縮
# tar zxf httpd-2.2.4.tar.gz
# cd httpd-2.2.4
3. 安裝apache依賴包apr和apr-util,他們都在srclib目錄中
3.1 安裝apr
# cd srclib/apr
# ./configure --prefix=/usr/local/apr
# make
# make install
3.2 安裝apr-util
# cd ../apr-util
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make
# make install
4.安裝httpd
# cd ../../
# ./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-rewrite
# make
# make install
--enable-so 支持DSO模式(動態模塊加載方式)
--enable-rewrite 支持rewrite(地址重定向)
等這些都裝完後,打開瀏覽器,輸入你安裝apache所在的服務器地址,看起來像這個樣子:
http://192.168.1.3/
若是頁面顯示以下:
It works!
恭喜你,apache安裝成功了~
# 當開啓apache服務時,提示錯誤信息 httpd: apr_sockaddr_info_get() failed for bogon
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
解決方法:
/etc/httpd/conf/httpd.conf 中設定 ServerName。因此apache會用主機上的名稱來取代,首先會去找 /etc/hosts 中有沒有主機的定義。
因此要解決這個問題能夠設定httpd.conf文件中的 ServerName,以下:
(1)ServerName localhost:80
安裝以前的準備:
–mkdir /var/ftp
–useradd -d /var/ftp -s /sbin/nologin ftpuser
–passwd ftpuser
–chown ftpuser:root /var/ftp
•安裝
–如下步驟須要在vsftpd-2.0.3.tar.gz所在的文件夾操做
–gzip -d vsftpd-2.0.3.tar.gz
–tar xvf vsftpd-2.0.3.tar
–cd vsftpd-2.0.3
–make
–make install
–cp RedHat/vsftpd.pam /etc/pam.d/ftp
–cp vsftpd.conf /etc/
–vi /etc/vsftpd.conf
刪除下面三行中的#
# local_enable =YES
# write_enable=YES
# local_umask=022
增長:listen=YES (vsftpd獨立啓動,須要刪除在系統服務中啓動)
•服務啓動
–vsftpd &
•服務中止
–ps –A | grep vsftpd
–kill -9 id
測試
–在windows打開IE輸入:ftp://ip/
–從windows中拷貝文件到ftp中
–使用CuteFTP 7 Professional,FTP客戶端工具
•錯誤以及處理:
–錯誤:vsftpd啓動時顯示:500 OOPS: could not bind listening IPv4 socket
–緣由:vsftpd已經啓動
–處理:
若是vsftpd獨立啓動,則使用kill殺掉進程,再次啓動
若是vsftpd在xinetd中啓動,則從其xinetd服務
/etc/rc.d/init.d/xinetd restart
條件一:
前一時間在研究LoadRunner過程當中,在進行壓力場景測試中經過LoadRunner來實時監控windows的系統資源,在前幾節中我已經總結了相關過程,近段時間發現羣裏有朋友問如何監控Linux下的系統資源,因此我也就此問題搭建了一些的Linux環境,並在Linux下部署了一個web應用程序,來進行壓力測試實例的講解,在此就總結了如何設置LoadRuner來實時監控Linux系統資源。
關於LoadRunner監控Linux系統資源,大體分爲如下步驟:
一、在監控Linux以前我想闡述的觀點是,Liunx系統機制與windows大體相同,要監控並獲得他的相關參數必須須要獲得它的贊成,這就是操做系統,因此你必須有足夠的權限和方法才能得到,關於Linux在LR中也相關添加區域,與windows享有同等的地位。在windows中須要開啓許多許多權限,以及一些遠程訪問的進程,當前在Linux中也不例外,在Linux下有一個進程是必須的,那就是系統守護進程rpc.restat,相信守護進程你們並不陌生,一般在Linux系統的引導的時候啓動的不少服務,這些服務就是守護進程,並且它脫離於終端在後臺運行的。
因此首先要查看系統是否開啓了rpc服務,經過命令rpcinfo -p來查看
如上圖能夠看到,若是開啓了四個rstatd服務就說明,該rpc守護進程服務啓動是成功的。若是沒有該服務,就須要手動安裝了
下載地址:http://heanet.dl.sourceforge.net/sourceforge/rstatd/
安裝:一次執行--tar -xzvf rpc.rstatd-4.0.1.tar.gz //解壓安裝包
cd rpc.rstatd-4.0.1 //進入到rpc.rstatd目錄中
./configure //配置rc.rstatd安裝
make //編輯rc.rstatd
make install //安裝
二、重啓端口映射服務portmap
/etc/rc.d/init.d/portmap start //啓動portmap
找到portmap服務就ok
三、經過命令rpcinfo -p來檢測便可,如1中圖所示證實,服務安裝和啓動是成功的。
四、在LoadRunner場景中添加linux系統資源項
這裏須要注意的一點是,當咱們第一次添加linux資源服務時,可能會提示錯誤信息,提示爲rpc服務在客戶端添加失敗,若是遇到這種狀況,可能你們又以爲又要失望,不要擔憂,分析錯誤的緣由,基本能夠肯定遠程沒有獲取到rpc服務,應該是被什麼被劫持了,來看看系統防火牆,cat /etc/sysconfig/iptables的配置,果真須要加入rpc訪問策略,爲此我關閉了防火牆服務,因此就不須要設置防火牆策略了,命令爲:
chkconfig iptables on //永久性啓動防火牆
chkconfig iptables off //永久性關閉防火牆
關閉防火牆以後再在LoadRunner場景中添加Linux資源,以下圖所示:
看到如上的圖表和曲線圖就表示配置ok了,攻破LoadRunner咱們取得一些進步。
條件二:
一 簡述:LoadRunner監控Linux資源時彈出以下錯誤:
Monitor name :UNIX Resources. Cannot initialize the monitoring on 192.168.52.189. Error while creating the RPC client. Ensure that the machine can be connected and that it runs the rstat daemon (use rpcinfo utility for this verification). Detailed error: RPC: Failed to create RPC client.
RPC-TCP: Failed to establish RPC server address.
上述問題的實質是Linux系統中未安裝rpc.rstatd,服務未開啓的緣由形成。
因而接下來就驗證咱們的推測:
首先查看rpc.rstatd是否安裝
如下是代碼片斷:
[root@localhost bin]# whereis rpc.rstatd
發現系統未安裝rpc.rstatd
備註:rstatd Rstat協議容許網絡上的用戶得到同一網絡上各機器的性能參數。
二 準備下載包:下載rpc.rstatd-4.0.1.tar.gz安裝包
下載地址:http://sourceforge.net/projects/rstatd
利用ssh客戶端上傳rpc.rstatd-4.0.1.tar.gz包至Linux下/home/Michael/tool/目錄下
三 執行安裝程序包:
如下是代碼片斷:
tar -xzvf rpc.rstatd-4.0.1.tar.gz //解壓rcp.rstatd
cd rpc.rstatd-4.0.1 //進入到rpc.rstatd目錄中
./configure //配置rc.rstatd的安裝,如下個人是按照默認方式的
make //編譯rc.rstatd
make install // 安裝
四 重啓xinetd
如下是代碼片斷:
/etc/init.d/xinetd restart
五 修改etc/xinetd.d目錄下面的3個conf (rlogin, rsh, rexec)中的disable置均設置爲no
如下是代碼片斷:
cd /etc/xinetd.d //進入到etc/xinetd.conf目錄中
Vi rlogin //編輯disable=no,保存
Vi rsh // 編輯disable=no,保存
Vi rexec //編輯disable=no,保存
六 啓動rpc.rstatd和檢測
如下是代碼片斷:
rpc.rstatd //啓動rpc.rstatd進程
rpcinfo –p // 執行此命令檢查rpc服務的狀態
[root@localhost xinetd.d]# rpcinfo -p
程序版本協議 端口
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32769 status
100001 5 udp 867 rstatd
100001 3 udp 867 rstatd
100001 2 udp 867 rstatd
100001 1 udp 867 rstatd
七 利用Loadunner中的Controller監控Linux資源
1 在controller中,將Systeme Resourece Graphs中的UNIX resources拖到右鍵的資源監控區域
2 鼠標右鍵選擇Add Measurements,添加被監控linux的IP地址192.168.52.189,選擇需監控的性能指標,確認後,以下圖所示即表示成功^_^
條件三:
LR監控UNIX/Linux系統方法
1、準備工做:
1.能夠經過兩種方法驗證服務器上是否配置rstatd守護程序:
①使用rup命令,它用於報告計算機的各類統計信息,其中就包括rstatd的配置信息。使用命令rup 10.130.61.203,此處10.130.61.203是要監視的linux/Unix服務器的IP,若是該命令返回相關的統計信息。則表示已經配置而且激活了rstatd守護進程;若未返回有意義的統計信息,或者出現一條錯誤報告,則表示rstatd守護進程還沒有被配置或有問題。
②使用find命令
#find / -name rpc.rstatd,該命令用於查找系統中是否存在rpc.rstatd文件,若是沒有,說明系統沒有安裝rstatd守護程序。
2.linux須要下載3個包: (1)rpc.rstatd-4.0.1.tar.gz (2)rsh-0.17-14.i386.rpm (3)rsh-server-0.17-14.i386.rpm 3.下載並安裝rstatd
若是服務器上沒有安裝rstatd程序(通常來講LINUX都沒有安裝),須要下載一個包纔有這個服務,包名字是rpc.rstatd-4.0.1.tar.gz. 這是一個源碼,須要編譯,下載並安裝rstatd(能夠在http://sourceforge.net/projects/rstatd這個地址下載)下載後,開始安裝,安裝步驟以下:
tar -xzvf rpc.rstatd-4.0.1.tar.gz cd rpc.rstatd-4.0.1/ ./configure —配置操做 make —進行編譯 make install —開始安裝 rpc.rstatd —啓動rstatd進程
「rpcinfo -p」命令來查看當前系統是否已經啓動了rstatd守護進程
只要保證Linux機器上的進程裏有rstatd和xinetd這二個服務就能夠用LR去監視了,經過如下 兩點能夠檢查是否啓動:
1)檢查是否啓動: rsh server 監聽的TCP 是514。
[root@mg04 root]# netstat -an |grep 514 tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
若是能看到514在監據說明rsh服務器已經啓動。 2)檢查是否啓動: rstatd 輸入命令: rpcinfo -p 若是能看到相似以下信息: 程序版本協議端口
100001 5 udp 937 rstatd 100001 4 udp 937 rstatd 100001 3 udp 937 rstatd 100001 2 udp 937 rstatd 100001 1 udp 937 rstatd
那就說明rstatd服務啓動了,(固然這裏也能夠用ps ax代替) 4.安裝rsh和rsh-server兩個服務包方法 a. 卸載rsh
# rpm –q rsh----------查看版本號 # rpm -e 版本號---------卸載該版本。 b.安裝
# rpm –ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm
在啓動rpc.rstatd時,會報錯「Cannot register service: RPC: Unable to receive; errno = Ction refused」。 解決方法以下:
# /etc/init.d/portmap start # /etc/init.d/nfs start
而後再次啓動rpc.rstatd就行了。 5.安裝xinetd方法:
①查看xinetd服務:[root@localhost ~]# rpm -q xinetd
xinetd-2.3.14-10.el5
②安裝xinetd服務:[root@localhost ~]# yum install xinetd
若是安裝不起xinetd服務,執行下列操做命令後再次執行yum install xinetd命令進行安裝: yum clean packages清除緩存目錄下的軟件包
yum clean headers清除緩存目錄下的 headers yum clean oldheaders清除緩存目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers。 6.啓動xinetd服務:
在有的系統中,經過以下命令重啓: # service xinetd reload # /sbin/service xinetd rstart 在suse linux 中以下操做: cd /etc/init.d/xinetd restart
2)安裝完成後配置rstatd 目標守護進程xinetd,它的主配置文件是/etc/xinetd.conf ,它裏面內容是一些以下的基本信息:
#
# xinetd.conf #
# Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany. # Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany. # defaults {
log_type = FILE /var/log/xinetd.log log_on_success = HOST EXIT DURATION log_on_failure = HOST ATTEMPT # only_from = localhost instances = 30 cps = 50 10 #
# The specification of an interface is interesting, if we are on a firewall. # For example, if you only want to provide services from an internal # network interface, you may specify your internal interfaces IP-Address.
#
# interface = 127.0.0.1 }
includedir /etc/xinetd.d
咱們這裏須要修改的是/etc/xinetd.d/下的三個conf文件 rlogin ,rsh,rexec 這三個配置文件,打這三個文件裏的disable = yes都改爲 disable = no ( disabled 用在默認的 {} 中禁止服務)或是把# default: off都設置成 on 這個的意思就是在xinetd啓動的時候默認都啓動上面的三個服務!
說明:我本身在配置時,沒有disable = yes這項,我就將# default: off改成:default: on,重啓後(cd /etc/init.d/./xinetd restart)經過netstat -an |grep 514查看,沒有返回。而後,我就手動在三個文件中最後一行加入disable = no,再重啓xinetd,再使用netstat -an |grep 514查看,獲得tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN結果,代表rsh服務器已經啓動。
看到網上有的地方說使用以下命令: # service xinetd reload # /sbin/service xinetd rstart 不知道是在什麼系統用的。 2、監控linux資源:
在controller中,將System resource Graphs中的Unix resources拖到右側的監控區域中,並單擊鼠標右鍵選擇「Add Measurements」,在彈出的對話框中輸入被監控的linux系統的IP地址,而後選擇須要監控的性能指標,並點擊「肯定」,出現以下結果:
Monitor name :UNIX Resources. Cannot initialize the monitoring on 10.10.15.62.
Error while creating the RPC client. Ensure that the machine can be connected and that it runs the rstat daemon (use rpcinfo utility for this verification).
Detailed error: RPC: Failed to create RPC client. RPC-TCP: Failed to establish RPC server address.
RPC-TCP: Failed to communicate with the portmapper on host '10.10.15.62'. RPC: RPC call failed.
RPC-TCP: recv()/recvfrom() failed.
RPC-TCP: Timeout reached. (entry point: CFactory::Initialize). [MsgId: MMSG-47190]
檢查緣由,發現是Linux系統中的防火牆開啓了而且阻擋了LoadRunner監控Linux系統的資源,所以要將防火牆關閉。
關閉防火牆: [root@localhost ~]# /etc/init.d/iptables stop; 3、監控UNIX
lr監控UNIX ,UNIX先啓動一rstatd服務 如下是在IBM AIX系統中啓動rstatd服務的方法: 1.使用telnet以root用戶的身份登陸入AIX系統 2.在命令行提示符下輸入:vi /etc/inetd.conf 3.查找rstatd,找到
#rstatd sunrpc_udp udp wait root /usr/sbin/rpc.rstatd rstatd 100001 1-3 四、將#去掉
五、:wq保存修改結果
六、命令提示符下輸入:refresh –s inetd 從新啓動服務。 這樣使用loadrunner就能夠監視AIX系統的性能狀況了。
注:在HP UNIX系統上編輯完inetd.conf後,重啓inetd服務須要輸入inetd -c UNIX上也能夠用rup命令查看rstatd程序是否被配置並激活
若rstatd程序已經運行,重啓時,先查看進程ps -ef |grep inet,而後殺掉進程,再refresh –s inetd進行重啓。
你可使用Dstat能夠查看實時系統的全部資源,將你的磁盤利用率同你的智能磁盤設備控制器的中斷狀況進行比對,或比較與磁盤吞吐量的網絡帶寬,都是數字比較直觀。
Dstat 監測結果帶顏色,看着更直觀,方便。
官方網站:http://packages.sw.be/dstat/
Usage: dstat [-afv] [options..] [delay [count]]
Versatile tool for generating system resource statistics
經常使用參數用法(Dstat options):
-c, --cpu enable cpu stats
-C 0,3,total include cpu0, cpu3 and total
-d, --disk enable disk stats
-D total,hda include hda and total
-g, --page enable page stats
-i, --int enable interrupt stats
-I 5,eth2 include int5 and interrupt used by eth2
-l, --load enable load stats
-m, --mem enable memory stats
-n, --net enable network stats
-N eth1,total include eth1 and total
-p, --proc enable process stats
-r, --io enable io stats (I/O requests completed)
-s, --swap enable swap stats
-S swap1,total include swap1 and total
-t, --time enable time/date output
-T, --epoch enable time counter (seconds since epoch)
-y, --sys enable system stats
--aio enable aio stats
--fs, --filesystem enable fs stats
--ipc enable ipc stats
--lock enable lock stats
--raw enable raw stats
--socket enable socket stats
--tcp enable tcp stats
--udp enable udp stats
--unix enable unix stats
--vm enable vm stats
--plugin-name enable plugins by plugin name (see manual)
--list list all available plugins
-a, --all equals -cdngy (default)
-f, --full automatically expand -C, -D, -I, -N and -S lists
-v, --vmstat equals -pmgdsc -D total
--float force float values on screen
--integer force integer values on screen
--bw, --blackonwhite change colors for white background terminal
--nocolor disable colors (implies --noupdate)
--noheaders disable repetitive headers
--noupdate disable intermediate updates
--output file write CSV output to file
delay is the delay in seconds between each update (default: 1)
count is the number of updates to display before exiting (default: unlimited)
nginx $> dstat
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read writ| recv send| in out | int csw
0 2 97 1 0 0| 57k 167k| 0 0 | 0 0 | 40 74
0 0 100 0 0 0| 0 0 | 152B 826B| 0 0 | 8 10
0 0 100 0 0 0| 0 0 | 152B 346B| 0 0 | 9 13
0 0 100 0 0 0| 0 0 | 152B 346B| 0 0 | 8 8
0 0 100 0 0 0| 0 0 | 244B 346B| 0 0 | 9 8
0 1 99 0 0 0| 0 0 | 152B 346B| 0 0 | 8 8
0 0 100 0 0 0| 0 0 | 120B 346B| 0 0 | 8 8
0 1 99 0 0 0| 0 0 | 60B 346B| 0 0 | 9 12
0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 7 8
0 1 99 0 0 0| 0 0 | 60B 346B| 0 0 | 8 8
0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 6 8
0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 7 8
0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 8 13
0 0 100 0 0 0| 0 0 | 60B 346B| 0 0 | 6 9
經常使用參數:
nginx $> dstat -c --top-cpu -d --top-bio --top-latency
nginx $>dstat -cdlmnpsy
Linux系統維護經常使用工具sysstat:sysstat這個工具,能夠說是linux &Unix; 以及Freebsd最經常使用的工具。它的主要用途就是觀察服務負載,好比CPU和內存的佔用率、網絡的使用率以及磁盤寫入和讀取速度等
1、sar的最後兩個參數通常是interval count
1、sar -u 1 5
輸出CPU使用狀況的統計信息,每秒輸出一次,一共輸出5次
[root@stage1-new9 sysstat-10.0.5]# sar -u 1 5
Linux 2.6.9-67.ELsmp (stage1-new9.intra99bill.com) 06/12/2012 _x86_64_ (8 CPU)
11:34:43 AM CPU %user %nice %system %iowait %steal %idle
11:34:44 AM all 0.00 0.00 0.00 0.00 0.00 100.00
11:34:45 AM all 0.00 0.00 0.12 0.00 0.00 99.88
11:34:46 AM all 0.00 0.00 0.00 0.00 0.00 100.00
11:34:47 AM all 0.00 0.00 0.12 0.00 0.00 99.88
11:34:48 AM all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.00 0.00 0.05 0.00 0.00 99.95
CPU all 表示統計信息爲全部 CPU 的平均值。
%user 顯示在用戶級別(application)運行使用CPU 總時間的百分比。
%nice 顯示在用戶級別,用於nice操做,所佔用CPU 總時間的百分比。
%system 在覈心級別(kernel)運行所使用CPU 總時間的百分比。
%iowait 顯示用於等待I/O操做佔用CPU 總時間的百分比。
%steal 管理程序(hypervisor)爲另外一個虛擬進程提供服務而等待虛擬 CPU 的百分比。
%idle 顯示 CPU 空閒時間佔用CPU 總時間的百分比。
Tips:
若 %iowait 的值太高,表示硬盤存在I/O瓶頸
若 %idle 的值高但系統響應慢時,有多是CPU 等待分配內存,此時應加大內存容量
若 %idle 的值持續低於10,則系統的CPU 處理能力相對較低,代表系統中最須要解決的資源是CPU。
2、sar -b 1 5
顯示I/O和傳送速率的統計信息
17時09分07秒 tps rtps wtps bread/s bwrtn/s
17時09分08秒 3.12 3.12 0.00 25.00 0.00
17時09分09秒 89.58 6.25 83.33 141.67 733.33
17時09分10秒 42.71 9.38 33.33 141.67 600.00
17時09分11秒 2.11 2.11 0.00 16.84 0.00
17時09分12秒 1.04 0.00 1.04 0.00 175.00
Average: 27.77 4.18 23.59 65.14 302.30
tps 每秒鐘物理設備的 I/O 傳輸總量
rtps 每秒鐘從物理設備讀入的數據總量
wtps 每秒鐘向物理設備寫入的數據總量
bread/s 每秒鐘從物理設備讀入的數據量,單位爲 塊/s
bwrtn/s 每秒鐘向物理設備寫入的數據量,單位爲 塊/s
2、iostat
# iostat -x 1 10 //每隔1秒統計一次,共顯示10次
[root@stage1-new9 sysstat-10.0.5]# iostat -x 1 10
Linux 2.6.9-67.ELsmp (stage1-new9.intra99bill.com) 06/12/2012 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.24 0.00 0.20 0.00 0.00 99.56
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.59 0.01 0.71 0.13 5.28 15.07 0.00 4.51 3.81 4.51 0.52 0.04
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 8.00 0.00 2.00 0.00 40.00 40.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
rrqm/s: 每秒進行 merge 的讀操做數目。即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫操做數目。即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 設備次數。即 delta(rio)/s
w/s: 每秒完成的寫 I/O 設備次數。即 delta(wio)/s
rsec/s: 每秒讀扇區數。即 delta(rsect)/s
wsec/s: 每秒寫扇區數。即 delta(wsect)/s
rkB/s: 每秒讀K字節數。是 rsect/s 的一半,由於每扇區大小爲512字節。(須要計算)
wkB/s: 每秒寫K字節數。是 wsect/s 的一半。(須要計算)
avgrq-sz: 平均每次設備I/O操做的數據大小 (扇區)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O隊列長度。即 delta(aveq)/s/1000 (由於aveq的單位爲毫秒)。
await: 平均每次設備I/O操做的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次設備I/O操做的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的時間用於 I/O 操做,或者說一秒中有多少時間 I/O 隊列是非空的。即 delta(use)/s/1000 (由於use的單位爲毫秒)
若是 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。
idle小於70% IO壓力就較大了,通常讀取速度有較多的wait。 同時能夠結合vmstat 查看查看b參數(等待資源的進程數)和wa參數(IO等待所佔用的CPU時間的百分比,高過30%時IO壓力高)
另外還能夠參考:
svctm 通常要小於 await (由於同時等待的請求的等待時間被重複計算了),svctm 的大小通常和磁盤性能有關,CPU/內存的負荷也會對其有影響,請求過多也會間接致使 svctm 的增長。await 的大小通常取決於服務時間(svctm) 以及 I/O 隊列的長度和 I/O 請求的發出模式。若是 svctm 比較接近 await,說明 I/O 幾乎沒有等待時間;若是 await 遠大於 svctm,說明 I/O 隊列太長,應用獲得的響應時間變慢,若是響應時間超過了用戶能夠允許的範圍,這時能夠考慮更換更快的磁盤,調整內核 elevator 算法,優化應用,或者升級 CPU。
隊列長度(avgqu-sz)也可做爲衡量系統 I/O 負荷的指標,但因爲 avgqu-sz 是按照單位時間的平均值,因此不能反映瞬間的 I/O 問題。