国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux性能測試工具 stress,stress-ng,sysbench,fio以及檢測dstat

這篇具有很好參考價值的文章主要介紹了Linux性能測試工具 stress,stress-ng,sysbench,fio以及檢測dstat。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、什么是dstat?

通過man幫助,可以看到官方對dstat的定義為:多功能系統(tǒng)資源統(tǒng)計(jì)生成工具(?versatile tool for generating system resource statistics)。在獲取的信息上有點(diǎn)類似于top、free、iostat、vmstat等多個工具的合集,官方解釋為vmstat、iostat、ifstat等工具的多功能替代品,且添加了許多額外的功能(Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat overcomes some of the limitations and adds some extra features.);其結(jié)果可以保持到csv文件,使用腳本或第三方工具對性能進(jìn)行分析利用(如通過監(jiān)控平臺監(jiān)控,也可以保持到數(shù)據(jù)庫)。在Centos 6.x系統(tǒng)上安裝基本服務(wù)器即默認(rèn)安裝,而在其他操作系統(tǒng)可能需要手動安裝。

二、dstat的基本使用:

2.1 dstat的默認(rèn)選項(xiàng)

與許多命令一樣,dstat命令有默認(rèn)選項(xiàng),執(zhí)行dstat命令不加任何參數(shù),它默認(rèn)會收集-cpu-、-disk-、-net-、-paging-、-system-的數(shù)據(jù),一秒鐘收集一次。?默認(rèn)輸入 dstat 等于輸入了dstat -cdngy 1或dstat -a 1。

2.2 dstat的常用選項(xiàng):

dstat的用法如下:

dstat [-afv] [options..] [delay [count]]

使用 dstat -h查看全部選項(xiàng),這里不逐一列舉,下面簡單介紹下常用選項(xiàng)

常用選項(xiàng)如下:

# 直接跟數(shù)字,表示#秒收集一次數(shù)據(jù),默認(rèn)為一秒;dstat 5表示5秒更新一次

-c,--cpu ? 統(tǒng)計(jì)CPU狀態(tài),包括 user,?system, idle(空閑等待時間百分比), wait(等待磁盤IO), hardware interrupt(硬件中斷), software interrupt(軟件中斷)等;

-d, --disk 統(tǒng)計(jì)磁盤讀寫狀態(tài)

-D total,sda 統(tǒng)計(jì)指定磁盤或匯總信息

-l, --load 統(tǒng)計(jì)系統(tǒng)負(fù)載情況,包括1分鐘、5分鐘、15分鐘平均值

-m, --mem 統(tǒng)計(jì)系統(tǒng)物理內(nèi)存使用情況,包括used, buffers, cache, free

-s, --swap 統(tǒng)計(jì)swap已使用和剩余量

-n, --net 統(tǒng)計(jì)網(wǎng)絡(luò)使用情況,包括接收和發(fā)送數(shù)據(jù)

-N eth1,total ?統(tǒng)計(jì)eth1接口匯總流量

-r, --io 統(tǒng)計(jì)I/O請求,包括讀寫請求

-p, --proc 統(tǒng)計(jì)進(jìn)程信息,包括runnable、uninterruptible、new

-y, --sys 統(tǒng)計(jì)系統(tǒng)信息,包括中斷、上下文切換

-t 顯示統(tǒng)計(jì)時時間,對分析歷史數(shù)據(jù)非常有用

--fs 統(tǒng)計(jì)文件打開數(shù)和inodes數(shù)

以上這些就是最常用的選項(xiàng),而一般都組合使用,個人比較常用的是:

  • dstat -cmsdnl -D sda9 -N lo,etho 100 5

三、監(jiān)測界面各參數(shù)含義(部分)

Procs

  • r:運(yùn)行的和等待(CPU時間片)運(yùn)行的進(jìn)程數(shù),這個值也可以判斷是否需要增加CPU(長期大于1)?
  • b:處于不可中斷狀態(tài)的進(jìn)程數(shù),常見的情況是由IO引起的

Memory

  • swpd: 切換到交換內(nèi)存上的內(nèi)存(默認(rèn)以KB為單位)。如果 swpd 的值不為0,或者還比較大,比如超過100M了,但是 si, so 的值長期為 0,這種情況我們可以不用擔(dān)心,不會影響系統(tǒng)性能。
  • free: 空閑的物理內(nèi)存
  • buff: 作為buffer cache的內(nèi)存,對塊設(shè)備的讀寫進(jìn)行緩沖
  • cache: 作為page cache的內(nèi)存, 文件系統(tǒng)的cache。如果 cache 的值大的時候,說明cache住的文件數(shù)多,如果頻繁訪問到的文件都能被cache住,那么磁盤的讀IO bi 會非常小。

Swap

  • si: 交換內(nèi)存使用,由磁盤調(diào)入內(nèi)存
  • so: 交換內(nèi)存使用,由內(nèi)存調(diào)入磁盤

內(nèi)存夠用的時候,這2個值都是0,如果這2個值長期大于0時,系統(tǒng)性能會受到影響。磁盤IO和CPU資源都會被消耗。

我發(fā)現(xiàn)有些朋友看到空閑內(nèi)存(free)很少或接近于0時,就認(rèn)為內(nèi)存不夠用了,實(shí)際上不能光看這一點(diǎn)的,還要結(jié)合si,so,如果free很少,但是si,so也很少(大多時候是0),那么不用擔(dān)心,系統(tǒng)性能這時不會受到影響的。

磁盤IO

  • bi: 從塊設(shè)備讀入的數(shù)據(jù)總量(讀磁盤) (KB/s)
  • bo: 寫入到塊設(shè)備的數(shù)據(jù)總理(寫磁盤) (KB/s)

注:隨機(jī)磁盤讀寫的時候,這2個 值越大(如超出1M),能看到CPU在IO等待的值也會越大

System

  • in: 每秒產(chǎn)生的中斷次數(shù)
  • cs: 每秒產(chǎn)生的上下文切換次數(shù)

上面這2個值越大,會看到由內(nèi)核消耗的CPU時間會越多

Cpu

  • usr: 用戶進(jìn)程消耗的CPU時間百分比

us 的值比較高時,說明用戶進(jìn)程消耗的CPU時間多,但是如果長期超過50% 的使用,那么我們就該考慮優(yōu)化程序算法或者進(jìn)行加速了(比如?PHP/Perl)

  • sys: 內(nèi)核進(jìn)程消耗的CPU時間百分比?

sys 的值高時,說明系統(tǒng)內(nèi)核消耗的CPU資源多,這并不是良性的表現(xiàn),我們應(yīng)該檢查原因。

  • wai: IO等待消耗的CPU時間百分比

wa 的值高時,說明IO等待比較嚴(yán)重,這可能是由于磁盤大量作隨機(jī)訪問造成,也有可能是磁盤的帶寬出現(xiàn)瓶頸(塊操作)。

  • idl: CPU處在空閑狀態(tài)時間百分比

四、dstat的高級用法

dstat的功能非常強(qiáng)大,除了上述常用用法外,還有一些大家不常用的高級用法,如下:

3.1 找出占用資源最高的進(jìn)程和用戶

--top-(io|bio|cpu|cputime|cputime-avg|mem) 通過這幾個選項(xiàng),可以看到具體是那個用戶那個進(jìn)程占用了相關(guān)系統(tǒng)資源,對系統(tǒng)調(diào)優(yōu)非常有效。如查看當(dāng)前占用I/O、cpu、內(nèi)存等最高的進(jìn)程信息可以使用dstat --top-mem --top-io --top-cpu:

3.2 獲取其他應(yīng)用信息:

dstat除了可以獲取系統(tǒng)關(guān)鍵信息外,還可以獲取其他應(yīng)用信息,如通過下列選項(xiàng),可以獲取到其他一些常用應(yīng)用信息:

--postfix 顯示postfix隊(duì)列大小

--sendmail 顯示sendmail隊(duì)列大小

--ntp 顯示ntp服務(wù)器時間

--nfs3 獲取nfs客戶端信息

--nfsd3 獲取nfs服務(wù)器信息,不過nfs服務(wù)器版本需為第三版才可以,該選項(xiàng)還有更多用法,可以參考man幫助獲取

--mysql5-(cmds|conn|io|keys ) 獲取mysql5相關(guān)信息

==========================================================

一、FIO工具安裝:

1、rpm –qa|grep fio
2、源碼安裝(2、3、4任選一個,推薦方法:3、rpm 的二進(jìn)制安裝)

官網(wǎng)地址:http://freecode.com/projects/fio/
github地址:https://github.com/axboe/fio
?

wget https://github.com/axboe/fio/archive/refs/tags/fio-3.14.tar.gz
tar -zxvf fio-3.14.tar.gz
./configure
make
make install

如果未成功就用 rpm 安裝 (推薦)

  • 官網(wǎng)地址:https://pkgs.org/download/fio
  • wget http://mirror.centos.org/centos/7/os/x86_64/Packages/fio-3.7-2.el7.x86_64.rpm
    yum install libaio-devel
    yum install libibverbs -y
    yum install libpmem -y
    yum install librados2 -y
    yum install librbd1
    rpm -ivh fio-3.7-2.el7.x86_64.rpm
    
    yum install fio

二、FIO工具使用方法

參數(shù)說明:

  • -rw=randwrite:定義測試時的讀寫策略,可選值如下:隨機(jī)讀:randread,隨機(jī)寫:randwrite,順序讀: read,順序?qū)懀簑rite,混合隨機(jī)讀寫:randrw0
  • -ioengine=libaio:libaio指的是異步模式,如果是同步就要用sync。定義fio如何下發(fā)IO請求,通常有同步IO和異步IO:同步IO一次只能發(fā)出一個IO請求, 等待內(nèi)核完成后才返回。這樣對于單個線程IO隊(duì)列深度總是小于1,但是可以透過多個線程并發(fā)執(zhí)行來解決。通常會用16~32個線程同時工作把IO隊(duì)列深度塞滿。異步IO則通常使用libaio這樣的方式一次提交一批IO 請求,然后等待一批的完成,減少交互的次 數(shù),會更有效率
  • -direct=1:定義是否使用direct IO,可選值如下:值為0,表示使用buffered IO;值為1,表示使用 direct IO
  • -thread:使用pthread_create創(chuàng)建線程,另一種是fork創(chuàng)建進(jìn)程。進(jìn)程的開銷比線程要大,一般都采用thread測試。
  • –numjobs=1:定義測試的并發(fā)線程數(shù)
  • -iodepth=64:定義測試時的IO隊(duì)列深度,默認(rèn)為1。此處定義的隊(duì)列深度是指每個線程的隊(duì)列深度, 如果有多個線程測試,意味著每個線程都是此處定義的隊(duì)列深度。fio總的IO并發(fā)數(shù) =iodepth * numjobs。
  • -filename:定義測試文件(設(shè)備)的名稱。此處選擇文件,則代表測試文件系統(tǒng)的性能,例如:- filename=/opt/fiotest/fiotest.txt;此處選擇設(shè)備名稱,則代表測試裸盤的性能,例:-filename=/dev/vdb1
  1. ? ? ? ? 如果在已經(jīng)分區(qū)、并創(chuàng)建文件系統(tǒng),且已寫入數(shù)據(jù)的磁盤上進(jìn)行性能測試,請注意

? ? ? ? filename選擇指定文件,以避免覆蓋文件系統(tǒng)和原有數(shù)據(jù)。

  • -size=100M:定義測試IO操作的數(shù)據(jù)量,若未指定runtime這類參數(shù),fio會將指定大小的數(shù)據(jù)量全部 讀/寫完成,然后才停止測試。該參數(shù)的值,可以是帶單位的數(shù)字,比如size=10G,表示讀/寫的數(shù)據(jù)量為10GB;也可是百分?jǐn)?shù),比如size=20%,表示讀/寫的數(shù)據(jù)量占該設(shè)備總文件的20%的空間。建議測試數(shù)據(jù)量為內(nèi)存兩倍大,盡量避免緩存影響。
  • -name=job1:定義測試任務(wù)名稱。
  • -bs=4k:定義IO的塊大小(block size),單位是k、K、m和M等,默認(rèn)IO塊大小為4 KB。
  • –output TestResult.log:日志輸出到TestResult.log。
  • -runtime:定義測試時間。如果未配置,則持續(xù)將size指定的文件大小,以每次bs值為分塊大小讀/ 寫完。
  • -group_reporting:定義測試結(jié)果顯示模式,group_reporting 表示匯總每個進(jìn)程的統(tǒng)計(jì)信息,而非以不同 job匯總展示信息

其它信息:

  • lockmem=1g 只使用1g內(nèi)存進(jìn)行測試。
  • zero_buffers 用0初始化系統(tǒng)buffer。
  • nrfiles=8 每個進(jìn)程生成文件的數(shù)量。

磁盤讀寫常用測試點(diǎn):

  • Read=100% Ramdon=100% rw=randread (100%隨機(jī)讀)
  • Read=100% Sequence=100% rw=read (100%順序讀)
  • Write=100% Sequence=100% rw=write (100%順序?qū)懀?/li>
  • Write=100% Ramdon=100% rw=randwrite (100%隨機(jī)寫)
  • Read=70% Sequence=100% rw=rw, rwmixread=70, rwmixwrite=30

(70%順序讀,30%順序?qū)懀?/p>

  • Read=70% Ramdon=100% rw=randrw, rwmixread=70, rwmixwrite=30

(70%隨機(jī)讀,30%隨機(jī)寫)
?

每次測試前執(zhí)行 echo 3 > /proc/sys/vm/drop_caches 清理緩存。
-ioengine=libaio、-iodepth=32可選/可不選

1)順序?qū)懀?/p>

fio -direct=1 -iodepth=32 -rw=write -ioengine=libaio -bs=4M -size=128G -numjobs=1  -runtime=600 -group_reporting -filename=/dev/[device] -name=Write_BandWidth_Test

2)隨機(jī)寫:

fio -direct=1-iodepth=128 -rw=randwrite -ioengine=libaio -bs=4K -size=128G - numjobs=1 -runtime=600 -group_reporting -filename=/dev/[device] -name=Rand_Write_IOPS_Test

3)順序讀:

fio -direct=1 -iodepth=32 -rw=read -ioengine=libaio -bs=4M -size=128G -numjobs=1 -runtime=600 -group_reporting -filename=/dev/[device] -name=Read_BandWidth_Test

4)隨機(jī)讀:

fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4K -size=128G - numjobs=1 -runtime=600 -group_reporting -filename=/dev/[device] -name=Rand_Read_IOPS_Test

5)混合隨機(jī)讀寫:

========================================================

【性能】Linux性能測試工具 - 簡書

stress是一個linux系統(tǒng)壓力測試工具,顧名思義主要用來進(jìn)行壓力測試

Linux性能測試工具 stress,stress-ng,sysbench,fio以及檢測dstat

yum -y install stress

# yum info stress

sysstat 是一個軟件包,包含監(jiān)測系統(tǒng)性能及效率的一組工具,這些工具對于我們收集系統(tǒng)性能數(shù)據(jù),比如CPU使用率、硬盤和網(wǎng)絡(luò)吞吐數(shù)據(jù),這些數(shù)據(jù)的收集和分析,有 利于我們判斷系統(tǒng)是否正常運(yùn)行,是提高系統(tǒng)運(yùn)行效率、安全運(yùn)行服務(wù)器的得力助手。

Linux性能測試工具 stress,stress-ng,sysbench,fio以及檢測dstat

stress和sysbench兩個工具在壓測過程中的對比發(fā)現(xiàn):?

stress基于多進(jìn)程的,會fork多個進(jìn)程,導(dǎo)致進(jìn)程上下文切換,導(dǎo)致us開銷很高

sysbench基于多線程的,會創(chuàng)建多個線程,單一進(jìn)程基于內(nèi)核線程切換,導(dǎo)致sys的內(nèi)核開銷很高

stress-ng簡介

1、stress-ng簡介
stress-ng完全兼容stress, 并且在stress基礎(chǔ)上增加數(shù)百個選項(xiàng)參數(shù),支持產(chǎn)生各種復(fù)雜的壓力。

2、stress-ng安裝
stress-ng源碼下載:

https://kernel.ubuntu.com/~cking/tarballs/stress-ng/

編譯:

make

安裝:

sudo make install

==========================================

DB 壓力測試工具之 sysbench?

DB 壓力測試工具之 sysbench - 知乎文章來源地址http://www.zghlxwxcb.cn/news/detail-453992.html

到了這里,關(guān)于Linux性能測試工具 stress,stress-ng,sysbench,fio以及檢測dstat的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 測試工具 go-stress-testing/fortio/vegeta 使用體驗(yàn)

    測試工具 go-stress-testing/fortio/vegeta 使用體驗(yàn)

    go-stress-testing 是一款由go語言實(shí)現(xiàn)的壓測工具,源碼開源、支持二次開發(fā)、可以壓測http、webSocket請求、私有rpc調(diào)用,使用協(xié)程模擬單個用戶,可以更高效的利用CPU資源 下載地址 注意需要將項(xiàng)目源碼 clone 到 $GOPATH 目錄下 mac電腦下載如下這個 放到 $GOPATH 目錄下 賦權(quán) chmod +x go

    2024年02月08日
    瀏覽(28)
  • Linux性能測試工具

    在Linux Benchmark Suite Homepage網(wǎng)站上列舉了諸多Linux性能測試工具,包括CPU/RAM/ROM/Cache/net等性能測試。 測試工具 這個工具集中包含以下幾種測試工具,我們主要使用到bw_mem工具進(jìn)行Memory read和write測試。 Bandwidth benchmarks(帶寬測試) Cached file read Memory copy (bcopy) Memory read Memory write Pi

    2023年04月08日
    瀏覽(35)
  • Linux之網(wǎng)絡(luò)性能測試工具netperf實(shí)踐

    Linux之網(wǎng)絡(luò)性能測試工具netperf實(shí)踐

    ??Netperf是一種網(wǎng)絡(luò)性能的測量工具,主要針對基于TCP或UDP的傳輸。Netperf根據(jù)應(yīng)用的不同,可以進(jìn)行不同模式的網(wǎng)絡(luò)性能測試,即批量數(shù)據(jù)傳輸(bulk data transfer)模式和請求/應(yīng)答(request/reponse)模式。Netperf測試結(jié)果所反映的是一個系統(tǒng)能夠以多快的速度向另外一個系統(tǒng)發(fā)送

    2024年02月01日
    瀏覽(21)
  • Linux環(huán)境安裝iperf3(網(wǎng)絡(luò)性能測試工具)

    Linux環(huán)境安裝iperf3(網(wǎng)絡(luò)性能測試工具)

    iperf官網(wǎng)地址: iPerf - The TCP, UDP and SCTP network bandwidth measurement tool ? iperf特性: 測量帶寬 報(bào)告MSS/MTU大小和觀察到的讀數(shù)大小。 通過套接字緩沖區(qū)支持TCP窗口大小。 UDP 客戶端可以創(chuàng)建指定帶寬的UDP流。 測量數(shù)據(jù)包丟失 測量延遲抖動 支持多播 跨平臺:Windows、Linux、Android、

    2024年02月03日
    瀏覽(28)
  • 【工具/性能】開源的性能測試工具sysbench

    sysbensh是一個非常通用的benchmark工具,其提供多種方面的測試: cpu :提供一個簡單的cpu benchmark測試 fileio:文件磁盤io的benchmark測試 memory:內(nèi)存訪問 benchmark測試 thread:線程調(diào)度 benchmark測試 mutex:POSIX的鎖 benchmark測試 OLTP:數(shù)據(jù)庫 benchmark測試,支持MySQL,Pgsql 默認(rèn)支持MySQL,如

    2024年02月12日
    瀏覽(23)
  • H5性能測試以及H5性能測試工具

    H5性能測試以及H5性能測試工具

    背景由于公司最近項(xiàng)目有一個H5測試項(xiàng)目,功能測試不用多說,但是H5性能測試是一個大難題,于是研究下H5性能測試,下面總結(jié)下,希望能幫助自己回顧項(xiàng)目也希望能幫到測友。 H5性能測試的常用指標(biāo): 白屏?xí)r間:用戶首次看到網(wǎng)頁內(nèi)容的時間,即第一次渲染流程完成的時間

    2024年02月14日
    瀏覽(21)
  • 前端性能測試必備測試工具

    前端性能測試必備測試工具

    我們在使用網(wǎng)站過程中,經(jīng)常會遇到慢的問題,為了找到原因,一般需要借助工具進(jìn)行檢測,通過工具,可以檢測出前端站點(diǎn)加載資源的相關(guān)詳細(xì)情況。 今天,就給大家介紹幾款前端性能測試分析工具,結(jié)合性能測試工具,實(shí)現(xiàn)通過量化的方式測試網(wǎng)站中諸如首字節(jié)加載時間

    2024年02月05日
    瀏覽(23)
  • 功能測試(八)—— APP之專項(xiàng)測試、性能測試、性能測試工具SoloPi

    功能測試(八)—— APP之專項(xiàng)測試、性能測試、性能測試工具SoloPi

    目錄 APP測試要點(diǎn) 目標(biāo) 一、APP專項(xiàng)測試 1.1?兼容性 1.2?安裝 1.3?卸載 1.4?升級 1.5?干擾測試(交叉事件測試) 1.6?Push推送 1.7?用戶體驗(yàn) 二、 性能測試工具 2.1?APP性能測試工具介紹 —— SoloPi簡介 2.2?APP性能測試工具 —— SoloPi使用 三、APP性能測試 3.1?CPU 3.2?內(nèi)存 3.3?流量 3.4?電

    2024年02月03日
    瀏覽(31)
  • jmeter 性能測試工具的使用(Web性能測試)

    jmeter 性能測試工具的使用(Web性能測試)

    1、下載 該軟件不用安裝,直接解壓打開即可使用。 2、使用 這里就在win下進(jìn)行,圖形界面較為方便 在目錄apache-jmeter-2.13bin 下可以見到一個jmeter.bat文件,雙擊此文件,即看到JMeter控制面板。主界面如下: 3、創(chuàng)建線程組 測試計(jì)劃--右鍵——》添加——》hreads——》線程組 設(shè)

    2024年02月10日
    瀏覽(99)
  • 扒開源安卓性能測試工具moblieperf源碼——開發(fā)屬于你自己的性能穩(wěn)定性測試工具

    扒開源安卓性能測試工具moblieperf源碼——開發(fā)屬于你自己的性能穩(wěn)定性測試工具

    moblieperf由阿里巴巴開源的Android性能測試工具 下載:官方源碼地址 mobileperf github 使用: 使用pycharm打開下載的項(xiàng)目 使用只需要修改配置文件 config.conf 即可 運(yùn)行采集:a.mac、linux 在mobileperf工具根目錄下執(zhí)行sh run.sh ; b.windows 雙擊run.bat 配置圖:(簡單使用只需要修改包名和設(shè)

    2024年02月19日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包