openstack 性能测试
先放測試結果
測的是openstack G版本上的虛擬機性能
測試結論是虛擬機的總體性能與普通筆記本差不多,但是與臺式機有一定差距,特別是磁盤IO部分。
CPU
1.vmstat
vmstat 1參數(shù)介紹
r,可運行隊列的線程數(shù),這些線程都是可運行狀態(tài),只不過 CPU 暫時不可用; b,被 blocked 的進程數(shù),正在等待 IO 請求; in,被處理過的中斷數(shù) cs,系統(tǒng)上正在做上下文切換的數(shù)目 us,用戶占用 CPU 的百分比 sys,內核和中斷占用 CPU 的百分比 wa,所有可運行的線程被 blocked 以后都在等待 IO,這時候 CPU 空閑的百分比 id,CPU 完全空閑的百分比swpd,已使用的 SWAP 空間大小,KB 為單位; free,可用的物理內存大小,KB 為單位; buff,物理內存用來緩存讀寫操作的 buffer 大小,KB 為單位; cache,物理內存用來緩存進程地址空間的 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 為單位; 上面是一個頻繁讀寫交換區(qū)的例子,可以觀察到以下幾點: 物理可用內存 free 基本沒什么顯著變化,swapd 逐步增加,說明最小可用的內存始終保持在 256MB X 10% = 2.56MB 左右,當臟頁達到10%的時候(vm.dirty_background_ratio = 10)就開始大量使用 swap; buff 穩(wěn)步減少說明系統(tǒng)知道內存不夠了,kwapd 正在從 buff 那里借用部分內存; kswapd 持續(xù)把臟頁面寫到 swap 交換區(qū)(so),并且從 swapd 逐漸增加看出確實如此。根據(jù)上面講的 kswapd 掃描時檢查的三件事,如果頁面被修改了,但不是被文件系統(tǒng)修改的,把頁面寫到 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
安裝
素數(shù)測試
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í)行整型計算的性能達到原生系統(tǒng)的97.04% 浮點計算的性能達到原生系統(tǒng)的96.89%5.SPECjbb2005
6.UnixBench
7.SysBench
8.PCMark
???? 只能在windows中運行
9.內核編譯
???? 可以在make時添加"-j N"參數(shù)來使用N進程協(xié)作編譯
? ? ?性能為同等原生系統(tǒng)的94.15%左右
10.Super PI
????? 可以支持計算到小數(shù)點后32M個數(shù)據(jù)位
? ? ?CPU性能為原生系統(tǒng)的97.17%
配置
為了防止圖形界面對結果的影響,設置運行級別為3,不開啟圖形界面
內存
1.mbw
apt-get install mbw
mbw 1024
2.命令行
cat /proc/meminfo3.LMbench
可達到原生系統(tǒng)95%以上的性能4.Memtest86+
5.STREAM
EPT和VPID對KVM中內存虛擬加速效果非常好網(wǎng)絡
主要性能指標是throughput,延遲, 抖動, 丟包率等等。
1.iperf
iperfiperf -s 一臺作為服務器
iperf -c 202.122.39.226 -i 1 一臺作為客戶端
物理實際帶寬1Gbps,實際能達到800多M左右
2.vps 網(wǎng)速測試
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)卡虛擬化可以達到與原生系統(tǒng)差不多的性能
在達到相同帶寬時,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ù)/隨機/大塊/小塊等等。
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ù)據(jù),比如數(shù)據(jù)庫執(zhí)行大量的查詢、流媒體服務等,順序 IO 可以同時很快的移動大量數(shù)據(jù)??梢赃@樣來評估 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)。 相對隨機 IO 而言,順序 IO 更應該重視每次 IO 的吞吐能力(KB per IO):隨機 IO 是指隨機請求數(shù)據(jù),其 IO 速度不依賴于數(shù)據(jù)的大小和排列,依賴于磁盤的每秒能 IO 的次數(shù),比如 Web 服務、Mail 服務等每次請求的數(shù)據(jù)都很小, 隨機 IO 每秒同時會有更多的請求數(shù)產生,所以磁盤的每秒能 IO 多少次是關鍵。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表示隨機讀,bs=4k表示每次讀4k,filename指定對應的分區(qū) direct=1表示穿越linux的緩存順序讀,SAS總體表現(xiàn)是SATA硬盤的1.3倍,SSD總體表現(xiàn)是sata硬盤的4倍隨機讀
fio -name iops -rw=randread -bs=4k -runtime=60 -iodepth 32 -filename /dev/sda6 -ioengine libaio -direct=1隨機讀,SAS總體表現(xiàn)是SATA硬盤的4倍,SSD總體表現(xiàn)是sata硬盤的一千多倍。順序寫
測試命令:fio -name iops -rw=write -bs=4k -runtime=60 -iodepth 32 -filename /dev/sda6 -ioengine libaio -direct=1同樣的4KB數(shù)據(jù)包順序寫的情況下,SSD卡的成績?yōu)?92MB/S,SAS卡的成績?yōu)?90MB/S,SATA卡的成績?yōu)?24.9MB/S
本地硬盤僅為118MB/S,IOPS僅為30290
隨機寫
fio -name iops -rw=randwrite -bs=4k -runtime=60 -iodepth 32 -filename /dev/sda6 -ioengine libaio -direct=1在接下來的4KB數(shù)據(jù)包隨機寫操作中,SSD卡再次展示了其高超的IO性能,高達549MB/S的隨機寫速率,IOPS高達140K。
SAS 2000K /s
SAT 548K /s
本地硬盤的隨機讀寫僅為548KB/S,IOPS為134。
5.Bonie++
6.hdparm
當一次讀寫的數(shù)據(jù)塊較小時,KVM虛擬機的磁盤讀寫速度大約為原生系統(tǒng)的七分之一左右,當一次讀寫數(shù)據(jù)塊較大時,磁盤I/O性能差距不大. 另外用virtio方式的磁盤I/O性能比純模擬的IDE磁盤要好一些。評分測試
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進行綁定2.未啟用擴展頁表
測試環(huán)境
Openstack 環(huán)境
計算結點1 HP 8核 G8計算結點2 HP 4核 H9
筆記本
Intel Pentium CPU P6000 1.87GHz 聯(lián)想E46A P6000
臺式機
Dell OptiPlex 7010舊服務器
惠普DL 380G5
最終結果
http://wenku.baidu.com/view/1a434a89f121dd36a32d829b.html
N2(2V并雙)表示 openstack 第2個計算結點 的一個2VCPU的虛擬機 4GB 內存 同時運行2個虛擬機 雙任務
N2(2V并單)表示 openstack 第2個計算結點 的一個2VCPU的虛擬機 4GB 內存 同時運行2個虛擬機 單任務
N2(2V單) 表示 openstack 第2個計算結點 的一個2VCPU的虛擬機 4GB 內存 只同時運行1個虛擬機 單任務
N2(1V)表示 openstack 第2個計算結點 的一個1VCPU的虛擬機 4GB 內存 只同時運行1個虛擬機 單任務
N1(1V)表示 openstack 第1個計算結點 的一個1VCPU的虛擬機 4GB 內存 只同時運行1個虛擬機 單任務
N2(2V 雙)表示 openstack 第2個計算結點 的一個2VCPU的虛擬機 4GB 內存 只同時運行1個虛擬機 雙任務
N2(2V 單)表示 openstack 第2個計算結點 的一個2VCPU的虛擬機 4GB 內存 只同時運行1個虛擬機 單任務
K5(1V) 表示? 舊環(huán)境的一臺1VCPU 4G 的虛擬機
G5(單) 表示 舊的 惠普DL380 G5? 單任務
G5(8)表示 舊的 惠普DL380 G5 8任務
參考
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/
總結
以上是生活随笔為你收集整理的openstack 性能测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server存储过程实例
- 下一篇: php 制作通讯录,PHP 制作通讯录(