openstack 性能测试
先放測(cè)試結(jié)果
測(cè)的是openstack G版本上的虛擬機(jī)性能
測(cè)試結(jié)論是虛擬機(jī)的總體性能與普通筆記本差不多,但是與臺(tái)式機(jī)有一定差距,特別是磁盤IO部分。
CPU
1.vmstat
vmstat 1參數(shù)介紹
r,可運(yùn)行隊(duì)列的線程數(shù),這些線程都是可運(yùn)行狀態(tài),只不過 CPU 暫時(shí)不可用; b,被 blocked 的進(jìn)程數(shù),正在等待 IO 請(qǐng)求; in,被處理過的中斷數(shù) cs,系統(tǒng)上正在做上下文切換的數(shù)目 us,用戶占用 CPU 的百分比 sys,內(nèi)核和中斷占用 CPU 的百分比 wa,所有可運(yùn)行的線程被 blocked 以后都在等待 IO,這時(shí)候 CPU 空閑的百分比 id,CPU 完全空閑的百分比swpd,已使用的 SWAP 空間大小,KB 為單位; free,可用的物理內(nèi)存大小,KB 為單位; buff,物理內(nèi)存用來(lái)緩存讀寫操作的 buffer 大小,KB 為單位; cache,物理內(nèi)存用來(lái)緩存進(jìn)程地址空間的 cache 大小,KB 為單位; si,數(shù)據(jù)從 SWAP 讀取到 RAM(swap in)的大小,KB 為單位; so,數(shù)據(jù)從 RAM 寫到 SWAP(swap out)的大小,KB 為單位; bi,磁盤塊從文件系統(tǒng)或 SWAP 讀取到 RAM(blocks in)的大小,block 為單位; bo,磁盤塊從 RAM 寫到文件系統(tǒng)或 SWAP(blocks out)的大小,block 為單位; 上面是一個(gè)頻繁讀寫交換區(qū)的例子,可以觀察到以下幾點(diǎn): 物理可用內(nèi)存 free 基本沒什么顯著變化,swapd 逐步增加,說明最小可用的內(nèi)存始終保持在 256MB X 10% = 2.56MB 左右,當(dāng)臟頁(yè)達(dá)到10%的時(shí)候(vm.dirty_background_ratio = 10)就開始大量使用 swap; buff 穩(wěn)步減少說明系統(tǒng)知道內(nèi)存不夠了,kwapd 正在從 buff 那里借用部分內(nèi)存; kswapd 持續(xù)把臟頁(yè)面寫到 swap 交換區(qū)(so),并且從 swapd 逐漸增加看出確實(shí)如此。根據(jù)上面講的 kswapd 掃描時(shí)檢查的三件事,如果頁(yè)面被修改了,但不是被文件系統(tǒng)修改的,把頁(yè)面寫到 swap,所以這里 swapd 持續(xù)增加。2.bzip2
wget http://mirror.ihep.ac.cn/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD2.iso -O 1GB.isostart=$(date +%s) && bzip2 -9 1GB.iso && end=$(date +%s) && echo $(( $end - $start ))3.sysbench
安裝
素?cái)?shù)測(cè)試
sysbench --test=cpu --cpu-max-prime=30000 run線程
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run文件IO讀寫sysbench --test=fileio --num-threads=16 --file-total-size=1G --file-test-mode=rndrw preparesysbench --test=fileio --num-threads=16 --file-total-size=1G --file-test-mode=rndrw runsysbench --test=fileio --num-threads=16 --file-total-size=1G --file-test-mode=rndrw cleanup
4.SPECCPU2006
CPU執(zhí)行整型計(jì)算的性能達(dá)到原生系統(tǒng)的97.04% 浮點(diǎn)計(jì)算的性能達(dá)到原生系統(tǒng)的96.89%5.SPECjbb2005
6.UnixBench
7.SysBench
8.PCMark
???? 只能在windows中運(yùn)行
9.內(nèi)核編譯
???? 可以在make時(shí)添加"-j N"參數(shù)來(lái)使用N進(jìn)程協(xié)作編譯
? ? ?性能為同等原生系統(tǒng)的94.15%左右
10.Super PI
????? 可以支持計(jì)算到小數(shù)點(diǎn)后32M個(gè)數(shù)據(jù)位
? ? ?CPU性能為原生系統(tǒng)的97.17%
配置
為了防止圖形界面對(duì)結(jié)果的影響,設(shè)置運(yùn)行級(jí)別為3,不開啟圖形界面
內(nèi)存
1.mbw
apt-get install mbw
mbw 1024
2.命令行
cat /proc/meminfo3.LMbench
可達(dá)到原生系統(tǒng)95%以上的性能4.Memtest86+
5.STREAM
EPT和VPID對(duì)KVM中內(nèi)存虛擬加速效果非常好網(wǎng)絡(luò)
主要性能指標(biāo)是throughput,延遲, 抖動(dòng), 丟包率等等。
1.iperf
iperfiperf -s 一臺(tái)作為服務(wù)器
iperf -c 202.122.39.226 -i 1 一臺(tái)作為客戶端
物理實(shí)際帶寬1Gbps,實(shí)際能達(dá)到800多M左右
2.vps 網(wǎng)速測(cè)試
wget freevps.us/downloads/bench.sh -O - -o /dev/null | bash3.netflow 跟蹤
4.ethtool
apt-get install ethtool ethtool eth0?5.netperf
apt-get install netperf netserver netperf -H 202.122.39.232 -l 1使用virtio,VT-d,SR-IOV等方式的網(wǎng)卡虛擬化可以達(dá)到與原生系統(tǒng)差不多的性能
在達(dá)到相同帶寬時(shí),VT-d和SR-IOV方式占用的CPU資源比virtio少
6.tcpdump
apt-get install tcptrace tcpdump -w network.dmp tcptrace network.dmp7.NETIO
8.SCP
磁盤IO
各種情況下的讀寫throughput,如:連續(xù)/隨機(jī)/大塊/小塊等等。
1.dd
dd if=/dev/zero of=1GB.files bs=64k count=16k conv=fdatasync dd if=file.dat of/dev/null iflag=direct bs=1k count=10k dd if=/dev/zero of=dd1.dat conv=fsync oflag=direct bs=1k count=10k2.iozone3
腳本中記得清cache
3.sysstat
iostat -kx 1順序 IO 是指同時(shí)順序請(qǐng)求大量數(shù)據(jù),比如數(shù)據(jù)庫(kù)執(zhí)行大量的查詢、流媒體服務(wù)等,順序 IO 可以同時(shí)很快的移動(dòng)大量數(shù)據(jù)??梢赃@樣來(lái)評(píng)估 IOPS 的性能,用每秒讀寫 IO 字節(jié)數(shù)除以每秒讀寫 IOPS 數(shù),rkB/s 除以 r/s,wkB/s 除以 w/s. 下面顯示的是連續(xù)2秒的 IO 情況,可見每次 IO 寫的數(shù)據(jù)是增加的(45060.00 / 99.00 = 455.15 KB per IO,54272.00 / 112.00 = 484.57 KB per IO)。 相對(duì)隨機(jī) IO 而言,順序 IO 更應(yīng)該重視每次 IO 的吞吐能力(KB per IO):隨機(jī) IO 是指隨機(jī)請(qǐng)求數(shù)據(jù),其 IO 速度不依賴于數(shù)據(jù)的大小和排列,依賴于磁盤的每秒能 IO 的次數(shù),比如 Web 服務(wù)、Mail 服務(wù)等每次請(qǐng)求的數(shù)據(jù)都很小, 隨機(jī) IO 每秒同時(shí)會(huì)有更多的請(qǐng)求數(shù)產(chǎn)生,所以磁盤的每秒能 IO 多少次是關(guān)鍵。4.fio
apt-get install fio順序讀
fio -name iops -rw=read -bs=4k -runtime=60 -iodepth 32 -filename /dev/sda6 -ioengine libaio -direct=1 其中 rw=read表示隨機(jī)讀,bs=4k表示每次讀4k,filename指定對(duì)應(yīng)的分區(qū) direct=1表示穿越linux的緩存順序讀,SAS總體表現(xiàn)是SATA硬盤的1.3倍,SSD總體表現(xiàn)是sata硬盤的4倍隨機(jī)讀
fio -name iops -rw=randread -bs=4k -runtime=60 -iodepth 32 -filename /dev/sda6 -ioengine libaio -direct=1隨機(jī)讀,SAS總體表現(xiàn)是SATA硬盤的4倍,SSD總體表現(xiàn)是sata硬盤的一千多倍。順序?qū)?/h3> 測(cè)試命令:fio -name iops -rw=write -bs=4k -runtime=60 -iodepth 32 -filename /dev/sda6 -ioengine libaio -direct=1
同樣的4KB數(shù)據(jù)包順序?qū)懙那闆r下,SSD卡的成績(jī)?yōu)?92MB/S,SAS卡的成績(jī)?yōu)?90MB/S,SATA卡的成績(jī)?yōu)?24.9MB/S
本地硬盤僅為118MB/S,IOPS僅為30290
隨機(jī)寫
fio -name iops -rw=randwrite -bs=4k -runtime=60 -iodepth 32 -filename /dev/sda6 -ioengine libaio -direct=1在接下來(lái)的4KB數(shù)據(jù)包隨機(jī)寫操作中,SSD卡再次展示了其高超的IO性能,高達(dá)549MB/S的隨機(jī)寫速率,IOPS高達(dá)140K。
SAS 2000K /s
SAT 548K /s
本地硬盤的隨機(jī)讀寫僅為548KB/S,IOPS為134。
5.Bonie++
6.hdparm
當(dāng)一次讀寫的數(shù)據(jù)塊較小時(shí),KVM虛擬機(jī)的磁盤讀寫速度大約為原生系統(tǒng)的七分之一左右,當(dāng)一次讀寫數(shù)據(jù)塊較大時(shí),磁盤I/O性能差距不大. 另外用virtio方式的磁盤I/O性能比純模擬的IDE磁盤要好一些。評(píng)分測(cè)試
geekbench
wget https://www.dropbox.com/s/vhzy8rbchw6p6d9/Geekbench-3.1.3-Linux.tar.gzunixbench
wget http://www.zhujima.com/soft/unixbench.sh;sh ./unixbench.sh;性能優(yōu)化
1.客戶端操作系統(tǒng)中的VCPU與物理CPU進(jìn)行綁定2.未啟用擴(kuò)展頁(yè)表
測(cè)試環(huán)境
Openstack 環(huán)境
計(jì)算結(jié)點(diǎn)1 HP 8核 G8計(jì)算結(jié)點(diǎn)2 HP 4核 H9
筆記本
Intel Pentium CPU P6000 1.87GHz 聯(lián)想E46A P6000
臺(tái)式機(jī)
Dell OptiPlex 7010舊服務(wù)器
惠普DL 380G5
最終結(jié)果
http://wenku.baidu.com/view/1a434a89f121dd36a32d829b.html
N2(2V并雙)表示 openstack 第2個(gè)計(jì)算結(jié)點(diǎn) 的一個(gè)2VCPU的虛擬機(jī) 4GB 內(nèi)存 同時(shí)運(yùn)行2個(gè)虛擬機(jī) 雙任務(wù)
N2(2V并單)表示 openstack 第2個(gè)計(jì)算結(jié)點(diǎn) 的一個(gè)2VCPU的虛擬機(jī) 4GB 內(nèi)存 同時(shí)運(yùn)行2個(gè)虛擬機(jī) 單任務(wù)
N2(2V單) 表示 openstack 第2個(gè)計(jì)算結(jié)點(diǎn) 的一個(gè)2VCPU的虛擬機(jī) 4GB 內(nèi)存 只同時(shí)運(yùn)行1個(gè)虛擬機(jī) 單任務(wù)
N2(1V)表示 openstack 第2個(gè)計(jì)算結(jié)點(diǎn) 的一個(gè)1VCPU的虛擬機(jī) 4GB 內(nèi)存 只同時(shí)運(yùn)行1個(gè)虛擬機(jī) 單任務(wù)
N1(1V)表示 openstack 第1個(gè)計(jì)算結(jié)點(diǎn) 的一個(gè)1VCPU的虛擬機(jī) 4GB 內(nèi)存 只同時(shí)運(yùn)行1個(gè)虛擬機(jī) 單任務(wù)
N2(2V 雙)表示 openstack 第2個(gè)計(jì)算結(jié)點(diǎn) 的一個(gè)2VCPU的虛擬機(jī) 4GB 內(nèi)存 只同時(shí)運(yùn)行1個(gè)虛擬機(jī) 雙任務(wù)
N2(2V 單)表示 openstack 第2個(gè)計(jì)算結(jié)點(diǎn) 的一個(gè)2VCPU的虛擬機(jī) 4GB 內(nèi)存 只同時(shí)運(yùn)行1個(gè)虛擬機(jī) 單任務(wù)
K5(1V) 表示? 舊環(huán)境的一臺(tái)1VCPU 4G 的虛擬機(jī)
G5(單) 表示 舊的 惠普DL380 G5? 單任務(wù)
G5(8)表示 舊的 惠普DL380 G5 8任務(wù)
參考
http://www.cpubenchmark.net/multi_cpu.html
http://mingxinglai.com/cn/2013/07/sysbench/
http://smilejay.com/2013/12/classfications-of-performance-testing/
http://www.chenshake.com/secondary-development-of-openstack-dashboard/
http://yaronspace.cn/blog/archives/1102
http://m.oschina.net/blog/159640
http://smilejay.com/2013/01/cpu-performance-test-tools/
總結(jié)
以上是生活随笔為你收集整理的openstack 性能测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server存储过程实例
- 下一篇: html5通讯录源码,通讯录web版