歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux磁盤或者其他類型服務器壓力測試的幾款工具簡介


Linux磁盤或者其他類型服務器壓力測試的幾款工具簡介     ㈠ dd:從一個源讀取數據然後以比特形式寫到另一個目標地址 [sql]  [root@linwaterbin ~]# dd if=/dev/zero of=/home/oracle/disktest bs=1M count=512 conv=fdatasync     www.2cto.com          注釋           if:從哪來           of:往哪去           bs:每次讀取的數據塊大小           count:讀多少個bs           conv:消除Linux內存緩存的影響,保證數據直接寫入磁盤                   測試步驟:        建議運行多次取平均值,並且每次運行前把Linux緩存清理 [sql]   www.2cto.com   [root@linwaterbin ~]# echo 3 > /proc/sys/vm/drop_caches   [root@linwaterbin ~]# dd if=/dev/zero of=/home/oracle/disktest bs=1M count=512 conv=fdatasync   512+0 records in   512+0 records out   536870912 bytes (537 MB) copied, 27.4893 seconds, 19.5 MB/s   [root@linwaterbin ~]#    [root@linwaterbin ~]#    [root@linwaterbin ~]#    [root@linwaterbin ~]# echo 3 > /proc/sys/vm/drop_caches   [root@linwaterbin ~]# dd if=/dev/zero of=/home/oracle/disktest bs=1M count=512 conv=fdatasync   512+0 records in   512+0 records out   536870912 bytes (537 MB) copied, 17.3697 seconds, 30.9 MB/s   [root@linwaterbin ~]#    [root@linwaterbin ~]#    [root@linwaterbin ~]#    [root@linwaterbin ~]#    [root@linwaterbin ~]# echo 3 > /proc/sys/vm/drop_caches   [root@linwaterbin ~]# dd if=/dev/zero of=/home/oracle/disktest bs=1M count=512 conv=fdatasync   512+0 records in   512+0 records out   536870912 bytes (537 MB) copied, 14.9991 seconds, 35.8 MB/s   [root@linwaterbin ~]#    [root@linwaterbin ~]#    [root@linwaterbin ~]#    [root@linwaterbin ~]# echo 3 > /proc/sys/vm/drop_caches   [root@linwaterbin ~]# dd if=/dev/zero of=/home/oracle/disktest bs=1M count=512 conv=fdatasync   512+0 records in   512+0 records out   536870912 bytes (537 MB) copied, 15.2154 seconds, 35.3 MB/s            19.5 MB/s + 30.9 MB/s + 35.8 MB/s + 35.3 MB/s這幾個值相加取平均        ㈡ hdparm            有兩個參數:           -t:磁盤性能檢測           -T:內存緩存性能檢測           同樣建議多次測試取平均 [sql]  [root@linwaterbin ~]# hdparm -t /dev/sda      /dev/sda:    Timing buffered disk reads:  226 MB in  3.02 seconds =  74.82 MB/sec   [root@linwaterbin ~]# hdparm -t /dev/sda      /dev/sda:    Timing buffered disk reads:  244 MB in  3.10 seconds =  78.59 MB/sec   [root@linwaterbin ~]# hdparm -t /dev/sda      /dev/sda:    Timing buffered disk reads:  246 MB in  3.12 seconds =  78.87 MB/sec           以上兩個工具,僅僅返回的是讀寫性能,測試比較簡單              使用bonnie++或iozone生成較詳細的磁盤報告       安裝之前需先做如下配置       到repoforge網站下載對應版本 [plain]  [root@linwaterbin Desktop]# rpm -ivh --nodeps rpmforge-release-0.5.2-2.el5.rf.i386.rpm    warning: rpmforge-release-0.5.2-2.el5.rf.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6   Preparing...                ########################################### [100%]      1:rpmforge-release       ########################################### [100%]   [root@linwaterbin Desktop]# cd /etc/yum.repos.d   [root@linwaterbin yum.repos.d]# ls   base.repo         mirrors-rpmforge-extras   redhat.repo          rpmforge.repo   mirrors-rpmforge  mirrors-rpmforge-testing  rhel-debuginfo.repo           ㈢ bonnie++          安裝: [plain]  [root@linwaterbin yum.repos.d]# yum install -y bonnie++            首先說明一下命令中常用的參數。           -d 生成測試文件的路徑           -s 生成測試文件的大小,以M為單位(如果不使用-r參數,則要求文件大小至少是系統物理內存的2倍)           -m 機器名,實際上我們可以認為是本次測試的方案名,可以隨便定義。默認是本機的hostname           -r 內存大小,指定內存大小,這樣可以通過-s參數創建r*2大小的文件,通常用於縮短測試時間              但是需要注意這樣由於內存的cache可能導致測試結果的不准確           -x 測試的次數           -u 測試文件的屬主和組,默認是執行bonnie++的當前用戶和當前組           -g 測試文件的組,默認是執行bonnie++的當前用組           -b 在每次寫文件時調用fsync()函數,對於測試郵件服務器或者數據庫服務器這種通常需要同步操作的情況比較適合,              而不使用該參數則比較適合測試copy文件或者編譯等操作的效率 [sql]  [root@linwaterbin ~]# bonnie++  -s 512 -r 256 -u root            主要輸出摘入: [plain]  Version  1.96       ------Sequential Output------ --Sequential Input- --Random-   Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--   Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP   linwaterbin    512M   217  99 32403  14 13798   7   378  99 49235  10 347.0   3   Latency               154ms    2218ms    2099ms     125ms   63304us    2672ms   Version  1.96       ------Sequential Create------ --------Random Create--------   linwaterbin         -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--                 files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP                    16 15508  52 +++++ +++ +++++ +++ 27215  91 +++++ +++ +++++ +++   Latency             43819us   20118us   19580us   19834us   19699us   20435us            ⑴ Sequential Output:寫操作           ① Per Chr:字符           ② Block:塊        ⑵ Sequential Input:讀操作        ⑶ K/sec:速度(k/秒)        ⑷ %CP:CPU的使用率                      ㈣ iozone          可支持多進程並發測試          能夠輸出到excel中進行繪圖          也是日常壓力測試用得最多的一款工具          安裝: [plain]  [root@linwaterbin ~]# yum install -y iozone            參數說明:        -l:最小進程數量        -u:最大進程數量        -r:基本讀寫單位,以測試對象的塊大小為准            如Oracle的塊設為8k,則你可以設置為8k        -s:和bonnie++的s參數含義一致            這個值如果太小會影響測試結果            因為很多程序都已經在內存中跑完了        -f:緩存文件 [plain]  [root@linwaterbin ~]# iozone -l 1 -u 1 -r 8K -s 128M                 Record Size 8 KB           File size set to 131072 KB           Command line used: iozone -l 1 -u 1 -r 8K -s 128M           Output is in Kbytes/sec           Time Resolution = 0.000001 seconds.           Processor cache size set to 1024 Kbytes.           Processor cache line size set to 32 bytes.           File stride size set to 17 * record size.           Min process = 1            Max process = 1            Throughput test with 1 process           Each process writes a 131072 Kbyte file in 8 Kbyte records              Children see throughput for  1 initial writers  =  125057.24 KB/sec           Parent sees throughput for  1 initial writers   =   30640.70 KB/sec           Min throughput per process                      =  125057.24 KB/sec            Max throughput per process                      =  125057.24 KB/sec           Avg throughput per process                      =  125057.24 KB/sec           Min xfer                                        =  131072.00 KB              Children see throughput for  1 rewriters        =  513780.34 KB/sec           Parent sees throughput for  1 rewriters         =   31989.50 KB/sec           Min throughput per process                      =  513780.34 KB/sec            Max throughput per process                      =  513780.34 KB/sec           Avg throughput per process                      =  513780.34 KB/sec           Min xfer                                        =  131072.00 KB              Children see throughput for  1 readers          =  889758.12 KB/sec           Parent sees throughput for  1 readers           =  849615.75 KB/sec           Min throughput per process                      =  889758.12 KB/sec            Max throughput per process                      =  889758.12 KB/sec           Avg throughput per process                      =  889758.12 KB/sec           Min xfer                                        =  131072.00 KB            這裡的值都很大,是因為我們的s參數設置的有點小.  
Copyright © Linux教程網 All Rights Reserved