精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

技術分享:虛擬化環境下解析Windows IO性能

開發 開發工具
本文主要介紹利用perf、systemtap等工具,幫助一位托管云客戶調試IO性能問題,來分析虛擬環境下Windows IO的性能。

隨著云計算技術與服務的發展和進步,越來越多的客戶選擇將業務部署到云端。但由于引入了虛擬化層,在業務部署過程中經常會遇到IO問題,通常也不易調試。本文主要介紹利用perf、systemtap等工具,幫助一位托管云客戶調試IO性能問題,來分析虛擬環境下Windows IO的性能。

問題出現

有一次,托管云客戶自己搭建了虛擬化環境,在同一臺宿主機上創建windows 2008 R2 和 Centos6.5虛擬機,用fio分別測試其隨機讀性能,windows 2008 R2的IOPS大約在18K,而Linux的IOPS卻可以達到100K左右。

客戶測試用的fio 配置

  1. [global] 
  2. ioengine=windowsaio 
  3. direct=1 
  4. iodepth=64 
  5. thread=1 
  6. size=20g 
  7. numjobs=1 
  8. [4k] 
  9. bs=4k 
  10. filename=d:test.img 
  11. rw=randread 

測試結果

  1. win_fio1 

云主機IO棧

io stack

云主機環境下,整個IO棧相對較長,涉及到Guest OS中的應用層/文件系統/Block層以及驅動層,虛擬化層,宿主機OS文件系統/Block層以及驅動層。因為涉及面多,所以其中任何一個環節出現問題都會造成性能下降,也為做IO的Tracing增加了難度。

從這次得到的信息來看,首先排除了宿主機文件系統和Block層以及驅動層的問題,因為同樣情況的配置,Linux系統并沒有問題。

目前主要集中于兩點:

  • Guest OS(Windows系統)
  • fio程序
  • 文件系統/Block layer
  • VirtIO Block驅動

虛擬機為Guest OS提供的是Virtio Block設備:

  • QEMU

如何排除QEMU的嫌疑?對于IOPS的性能問題,很容易想到兩種可能性:

  • IO延時過高
  • 設備支持IO隊列太短

在隊列的問題方面,Linux和Windows虛擬機對應的Virtio Block設備都是一樣的,那么就需要確認延時問題。

QEMU 完成Block IO花了多長時間?

幸運的是,Stefan Hajnoczi已經為QEMU添加了Tracing的特性,因此可以很方便的統計出QEMU從接收到一個IO請求到完成所用的具體時長。

從上述統計來看,平均IO完成時間在130us,由此暫時排除QEMU 層造成太高延時的影響。另外,如果關注這種動態Tracing的overhead,從測試觀察上大致接近20%。

排除隊列和延時問題,可能造成影響的也只有Guest OS了。

  • VirtIO Block驅動的問題?至少更新到***穩定版本的Virtio-Win驅動,仍然存在同樣的問題。
  • Windows 文件系統/Block層的問題?原生Windows系統在確認后并沒有做任何配置上的修改。
  • fio測試程序的問題?為什么Linux上fio沒有問題呢。

兩種可能性

在性能排查過程中,總是很容易陷入死局,經常會問到底是哪兒出了問題?因此一切可能影響的因素似乎都沒有做任何變動。從經驗來看,大部分性能問題都可以分成兩種可能:

  • on cpu
  • off cpu

重新來看這個問題 ,在基本排除IO延時問題后,對應的問題還有兩種可能性:

  • CPU極其忙碌,但是大部分時間并不是在做IO處理;
  • CPU經常處于空閑狀態,那相應的也沒有主要在處理IO。

注:之所以說到目前為止并不能排除IO延時的影響,是因為只排除了QEMU Block層可能的影響,但是還有Guest OS(這次暫時忽略Guest OS)。

先看測試過程中,虛擬機的CPU消耗情況。

  1. top -H -p 36256 

  1. win_fio1 

從上圖來看,QEMU主線程的cpu負載已經達到90%以上,似乎符合on cpu類問題。通常來說,解決這類問題***的辦法就是用perf進程采樣,然后生成火焰圖,因為首先查看CPU具體消耗在什么地方是一個不錯的選擇。

  1. perf record -a -g -p 36256 sleep 20 

生成火焰圖:

生成火焰圖

  1. win2008-bad 

可以清楚的看到,cpu大部分消耗都是KVM的操作,其中最主要的消耗是vmx_handle_exit。(真實的火焰圖是一個矢量圖,用瀏覽器查看很容易確認)。這里引起vmx_handle_exit主要有兩點:

  • 訪問IO Port(handle_pio)
  • 訪問 MMIO(handle_apic_access)

既然KVM模塊占了大部分,那就更希望了解測試時KVM的真實行為,通過另一個工具(kvm_stat)可以達到。

  1. kvm_pio 

除VM Entry和VM Exit事件外,***的就是kvm_pio和 kvm_mmio,說明Windows確實有大量IO Port和MMIO操作,這也驗證了在火焰圖上所得出的結論。

在虛擬化里,IO Port或者MMIO都可能引起VM Exit,甚至是Heavy Exit。如果需要改善性能,一般都會盡量避免這種情況,至少避免Heavy Exit.

具體訪問哪些IO Port和MMIO導致的VM Exit?

對于這個問題,KVM模塊已經加了很多trace event,上面的kvm_stat也是利用這些trace event,只是并沒有把具體trace event信息打印出來。為了獲取trace-event的信息,有很多前端工具,如trace-cmd、perf,都是不錯的選擇。

• 查看所有kvm模塊的trace event

  1. [xs3c@devhost1 ]# trace-cmd list -e | grep kvm 
  2. kvmmmu:kvm_mmu_pagetable_walk 
  3. kvmmmu:kvm_mmu_paging_element 
  4. kvmmmu:kvm_mmu_set_accessed_bit 
  5. kvmmmu:kvm_mmu_set_dirty_bit 
  6. kvmmmu:kvm_mmu_walker_error 
  7. kvmmmu:kvm_mmu_get_page 
  8. kvmmmu:kvm_mmu_sync_page 
  9. kvmmmu:kvm_mmu_unsync_page 
  10. kvmmmu:kvm_mmu_zap_page 
  11. kvm:kvm_entry 
  12. kvm:kvm_hypercall 
  13. kvm:kvm_pio 
  14. kvm:kvm_cpuid 
  15. kvm:kvm_apic 
  16. kvm:kvm_exit 
  17. kvm:kvm_inj_virq 
  18. kvm:kvm_inj_exception 
  19. kvm:kvm_page_fault 
  20. kvm:kvm_msr 
  21. kvm:kvm_cr 
  22. kvm:kvm_pic_set_irq 
  23. kvm:kvm_apic_ipi 
  24. kvm:kvm_apic_accept_irq 
  25. kvm:kvm_eoi 
  26. kvm:kvm_pv_eoi 
  27. kvm:kvm_write_tsc_offset 
  28. kvm:kvm_ple_window 
  29. kvm:kvm_vcpu_wakeup 
  30. kvm:kvm_set_irq 
  31. kvm:kvm_ioapic_set_irq 
  32. kvm:kvm_ioapic_delayed_eoi_inj 
  33. kvm:kvm_msi_set_irq 
  34. kvm:kvm_ack_irq 
  35. kvm:kvm_mmio 

KVM模塊添加了許多trace event的點,這里只抓起其中兩個——kvm:kvm_pio和kvm:kvm_mmio。

  1. trace-cmd-pio-mmio 

通過統計發現主要訪問的:

  • IO Port是0x608和0xc050;
  • MMIO是0xFEE003xx

經由qemu info mtree命令,可以查看IO Port 608、c050以及FEE003xx分別對應的具體設備。

• IO Port

  1. 0000000000000608-000000000000060b (prio 0, RW): acpi-tmr 000000000000c040-000000000000c07f (prio 1, RW): virtio-pci 

• MMIO

  1. 00000000fee00000-00000000feefffff (prio 4096, RW): icc-apic-container 

c050可以忽略,這個被Virtio Block來做VM Exit。

到目前為止,可以判斷出wnidows大量讀取ACPI Power Manager Timer以及訪問APIC寄存器,進而導致過多vm exit產生,消耗大量CPU資源,因此就可以具體討論兩個問題:

  • 如何減少讀取ACPI PM Timer寄存器而引起的VM Exit;
  • 如何減少訪問APIC MMIO導致的VM Exit。

如何減少讀取ACPI PM Timer而引起的VM Exit?

從虛擬化層優化的思路來說,減少IO Port引發的VM Exit通常會考慮是否可以利用Para-virtulization替換Full-virtualization 以達到目的,來看Windows在這方面是如何做的。

從Windows 7開始,微軟為了使Windows 操作系統能夠在HyperV得到更好性能,特意為Windows系統做了很多虛擬化方面的增強工作,其中就包括這里可以利用到的HyperV Timer,這個特性類似于Linux中的kvmclock。

從當前的支持情況來看:

  • Windows 7
  • Windows 7 SP1
  • Windows Server 2008 R2
  • Windows Server 2008 R2 SP1/SP2
  • Windows 8/8.1/10
  • Windows Server 2012
  • Windows Server 2012 R2

qemu和libvirt添加了HyperV Timer的支持,所以可以直接通過libvirt使能HyperV Timer。另外,KVM里很早也支持了HyperV Timer,只是客戶的宿主機內核版本并不支持該功能,所以需要為客戶升級UCloud自己維護的內核版本。

如何減少APIC ACCESS而引起VM Exit?

Intel CPU也已經支持apic-v,同樣升級到UCloud自己維護的內核版本來解決。

最終效果

  1. win-fio-good 

  1. win-good 

總結

從這個案例可以看出,跟物理環境相比,在虛擬化環境下,WindowsIO性能較差時,并不一定真正是IO路徑出現問題,可能是一些虛擬化性能的問題對IO性能造成了很大影響。

【本文是51CTO專欄機構作者“大U的技術課堂”的原創文章,轉載請通過微信公眾號(ucloud2012)聯系作者】

 戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2017-07-10 07:55:50

虛擬化Windows IO云計算

2024-02-23 10:11:00

虛擬化技術

2010-06-02 11:16:31

2021-12-21 15:37:46

NFV虛擬化IO虛擬化

2018-08-08 14:55:32

KVM虛擬化取證

2018-03-21 14:16:45

虛擬化技術解密

2013-01-25 11:15:56

RHEV

2009-09-25 13:56:10

虛擬化環境

2015-07-10 10:25:09

2012-06-14 09:38:00

存儲虛擬化

2021-02-01 10:20:29

Windows虛擬技術ISO文件

2009-10-27 09:26:02

2012-01-13 13:15:56

2016-12-11 10:41:25

云計算虛擬化環境

2013-04-23 11:37:07

技術解析服務器虛擬化

2011-11-08 21:54:05

Windows 監控

2011-05-05 18:18:34

2009-04-08 13:31:17

Vmware虛擬化虛擬機

2010-08-30 09:58:20

虛擬化整合案例

2009-05-05 14:30:19

虛擬化安全解決方案
點贊
收藏

51CTO技術棧公眾號

欧美xxxx黑人又粗又长精品| 色综合五月天导航| 欧美自拍小视频| www免费网站在线观看| 蜜臀久久99精品久久久久宅男| 欧美一区二区三区免费视频| 国产尤物av一区二区三区| 国产香蕉在线观看| 久久精品一本| 精品国产一区av| 美女网站视频在线观看| 中文字幕21页在线看| 国产精品网友自拍| 超碰97在线播放| 日韩免费视频网站| 成人精品视频| 欧美www视频| 欧美精品无码一区二区三区| 26uuu亚洲电影在线观看| 91丨porny丨首页| 成人黄色短视频在线观看| 精品在线视频观看| 成人高清电影网站| 精品国产免费久久| 精品999在线| av今日在线| 国产精品久久久久影院亚瑟| 国产在线精品二区| 国产又粗又猛又爽| 亚洲在线日韩| 欧美大片在线看免费观看| 成人免费无遮挡无码黄漫视频| 久久99国产精品二区高清软件| 亚洲制服丝袜一区| 一区二区三区在线观看www| 天天干,天天操,天天射| 国产在线乱码一区二区三区| 热门国产精品亚洲第一区在线| 久久国产波多野结衣| 九九热爱视频精品视频| 欧美一激情一区二区三区| 日日碰狠狠丁香久燥| 超免费在线视频| 亚洲天堂成人网| 午夜一区二区三区| 欧美性孕妇孕交| 成人综合在线观看| 91丨九色丨国产在线| 中文无码av一区二区三区| 亚洲美女色禁图| 九九精品在线视频| 欧美另类videoxo高潮| 精品久久久中文字幕| 日韩经典一区二区三区| www.男人天堂| 成人18夜夜网深夜福利网| 777亚洲妇女| 日韩肉感妇bbwbbwbbw| 高清不卡av| 欧美日韩国产精品专区| 日韩伦理在线免费观看| 污污视频在线看| 亚洲精品免费在线观看| 亚洲五月六月| 在线播放麻豆| 国产精品国产三级国产普通话蜜臀| 久久一区免费| 欧美日韩影视| 久久这里只精品最新地址| 久久精品二区| 日韩欧美电影在线观看| 久久综合九色综合欧美亚洲| 久久久久se| 日韩精品一二| 久久久精品2019中文字幕之3| 久久综合给合久久狠狠色| 日本中文字幕电影在线观看| 久久综合国产精品| 天堂资源在线亚洲视频| 在线观看麻豆蜜桃| 亚洲日本乱码在线观看| 男女裸体影院高潮| 国产区美女在线| 黄色成人在线播放| 日本精品www| 国产精品亚洲d| 欧美日韩国产影片| 亚洲精品久久久久久| av不卡一区| 亚洲免费av片| 韩国一级黄色录像| 亚洲午夜极品| 国产suv精品一区二区| 一道本在线视频| 国产精品一区免费视频| 狠狠爱一区二区三区| 国产福利在线| 亚洲精品欧美在线| 亚洲精品中文字幕无码蜜桃| 91视频成人| 亚洲精品一区二区在线观看| 亚洲久久久久久久| 欧美成人高清| 日本不卡免费高清视频| 国产精品久久久久久免费免熟| 精品一区二区三区免费毛片爱 | 色黄视频在线观看| 欧美三区免费完整视频在线观看| 中文字幕中文在线| 欧美巨大xxxx| 精品国产一区av| www..com国产| 精品一区二区三区在线视频| 精品一区二区三区免费毛片| 日本激情视频在线观看| 亚洲成av人片www| 香港日本韩国三级网站| 国产伦精品一区二区三区免费优势| 精品中文字幕久久久久久| 性生交大片免费全黄| 午夜亚洲福利在线老司机| 亚洲aⅴ男人的天堂在线观看| 少妇精品高潮欲妇又嫩中文字幕| 91影院在线免费观看| 日韩第一页在线观看| 亚洲少妇视频| 欧美成人一区二区三区| 337人体粉嫩噜噜噜| 日韩视频免费| 超碰97在线人人| 蜜桃av在线免费观看| 欧美午夜精品久久久久久久| 中文字幕 欧美 日韩| 日韩久久精品网| 日本精品视频在线播放| 午夜精品小视频| 亚洲视频每日更新| 亚洲 欧美 日韩系列| 日韩a级大片| 欧美激情一级欧美精品| 91极品身材尤物theporn| 久久综合九色综合欧美98| 97在线国产视频| 国内不卡的一区二区三区中文字幕 | 91久久精品无嫩草影院| 精品五月天久久| 久久一区二区三| 久99久精品视频免费观看| 日韩激情视频| 欧美7777| 亚洲欧美变态国产另类| 天天综合网久久综合网| 99在线热播精品免费| 欧美 亚洲 视频| 欧美区一区二区| 久久亚洲综合国产精品99麻豆精品福利| 久久精品久久精品久久| 国产成人av一区二区| 成年丰满熟妇午夜免费视频| 国产亚洲高清在线观看| 欧美成人免费一级人片100| 亚洲一区二区三区高清视频| 中文av一区二区| 天天操天天爱天天爽| jlzzjlzz亚洲女人| 国产精品视频公开费视频| 91啦中文在线| 欧美日韩免费不卡视频一区二区三区 | 伊人中文字幕在线观看| 91一区二区在线| 黑人糟蹋人妻hd中文字幕| 久久超级碰碰| 日本国产精品视频| jizz亚洲| 这里只有精品电影| 久草视频在线资源| 99视频精品免费视频| 777米奇影视第四色| 日韩av在线播放网址| 成人有码在线播放| 91福利在线免费| 亚洲色图在线观看| 国产精品探花视频| 亚洲国产精品一区二区久久恐怖片| 精品人妻一区二区免费| 国产美女诱惑一区二区| 日韩精品福利视频| 在线视频成人| 欧美黑人性视频| 免费福利在线视频| 欧美精品久久久久久久多人混战 | 精品成在人线av无码免费看| 加勒比色老久久爱综合网| 国产脚交av在线一区二区| 麻豆视频在线| 亚洲国产欧美一区二区三区同亚洲 | 亚洲电影av在线| 免费观看日批视频| 国产精品福利一区| 扒开伸进免费视频| 奇米精品一区二区三区在线观看一| 亚洲7777| 成人爽a毛片免费啪啪红桃视频| 91po在线观看91精品国产性色| 日本ー区在线视频| 欧美一区二区在线看| 国内免费精品视频| 国产精品国产三级国产aⅴ中文| 成人一区二区三区仙踪林| 久久在线精品| 国产欧美123| 激情五月综合网| 成人18视频| 一呦二呦三呦精品国产| 欧美激情一区二区三区久久久| 日本一卡二卡四卡精品| 91精品国产91久久综合桃花| av中文在线播放| 亚洲男同1069视频| 色噜噜噜噜噜噜| av不卡在线观看| www.桃色.com| 日韩在线a电影| 日韩av黄色网址| 国产一区观看| 午夜在线视频免费观看| 操欧美老女人| 欧美日韩一区二区三| 荡女精品导航| 91嫩草在线| 色综合视频一区二区三区日韩| 97婷婷涩涩精品一区| 中国av在线播放| 日韩在线观看你懂的| 国产在线一二| 亚洲九九九在线观看| 欧美一区二区三区成人片在线| 欧美久久久影院| 国产偷人爽久久久久久老妇app | 成年人在线免费看片| 91在线一区二区| 娇妻高潮浓精白浆xxⅹ| 国产高清成人在线| 欧美国产在线一区| 国产美女视频91| 国产美女18xxxx免费视频| 老司机精品视频一区二区三区| av动漫免费看| 久久aⅴ乱码一区二区三区| 日本在线xxx| 欧美三级网页| 色中文字幕在线观看| 国产精品99久久久久久动医院| 日本一区二区三区视频免费看| 精品视频高潮| 狠狠干一区二区| 亚洲国产合集| 免费看成人片| 国内黄色精品| 亚洲精品一区二区毛豆| 97国产精品| 无码毛片aaa在线| 午夜国产精品视频| youjizz.com在线观看| 欧美日韩亚洲一区三区| 欧美亚洲黄色片| 国产精品一二| 激情综合网俺也去| 久久99精品国产91久久来源| 在线免费看v片| 国产福利一区二区三区视频| www.美色吧.com| 91亚洲精品久久久蜜桃| 午夜精产品一区二区在线观看的| 久久久久久久久99精品| 精品一区二区三孕妇视频| ...av二区三区久久精品| 中文字幕av久久爽av| 午夜精品免费在线观看| 亚洲婷婷综合网| 欧美日韩国产一二三| 国产不卡精品视频| 亚洲国产精品福利| 黄色av免费在线看| 久久精品成人一区二区三区| 七七成人影院| 国产91精品网站| 亚洲一区有码| 国产精品视频500部| 国产一区二区观看| 青青草影院在线观看| 一区二区国产精品| 日韩av卡一卡二| 成人成人成人在线视频| 天堂在线中文视频| 夜色激情一区二区| 无码人妻精品一区二区| 日韩一区二区三区电影在线观看 | 亚洲一区二区自偷自拍| 综合av第一页| 天天爽夜夜爽夜夜爽精品| 欧美日韩日本视频| 免费观看的毛片| 在线播放国产精品| xxx性欧美| 国产欧美一区二区白浆黑人| 国产精品对白久久久久粗| 视频一区视频二区视频三区视频四区国产 | 亚洲成熟女性毛茸茸| 精品在线小视频| 在线中文字幕视频观看| 热久久免费国产视频| 97人人澡人人爽91综合色| 日日骚一区二区网站| 1024成人| 亚洲综合20p| 久久日一线二线三线suv| 男人与禽猛交狂配| 在线免费观看视频一区| 日本激情视频网站| 久久影院资源网| 草莓视频成人appios| 国产一区二区三区免费不卡| 91精品啪在线观看国产81旧版| 人妻无码久久一区二区三区免费| 日本不卡123| 一二三不卡视频| 亚洲一区二区三区视频在线 | 国产精品国内视频| 精品人人人人| 欧洲精品在线播放| 国产又黄又大久久| 久久久久人妻一区精品色| 91精品福利视频| 亚州男人的天堂| 久久免费成人精品视频| 精品一区91| 91手机视频在线| 麻豆精品在线观看| 国产7777777| 欧美在线观看禁18| 国模吧精品人体gogo| 欧美亚洲国产精品| 久久精品66| 日韩av高清在线看片| 岛国一区二区三区| 国产真实乱偷精品视频| 日韩欧美在线123| free性欧美hd另类精品| 成人免费看吃奶视频网站| 98精品久久久久久久| 911福利视频| 中文字幕欧美一区| 国产精品欧美亚洲| 久久国产视频网站| 免费一级欧美在线大片 | 忘忧草精品久久久久久久高清| 别急慢慢来1978如如2| 国产亚洲精品7777| 中文字幕无码乱码人妻日韩精品| 亚洲欧美国产制服动漫| 精品国产免费人成网站| 欧美日韩国产综合视频在线| 免费国产自线拍一欧美视频| 大黑人交xxx极品hd| 色婷婷综合激情| 97超碰人人在线| 91精品在线观看视频| 亚洲第一天堂| 性生交大片免费看l| 亚洲第一激情av| 深夜视频在线免费| 国产成人精品久久二区二区91| 欧美男gay| 中文字幕网av| 亚洲精品中文在线影院| 日本wwwxxxx| 国产99在线|中文| 久久久国产精品| 精品人妻在线视频| 色婷婷狠狠综合| 色老头视频在线观看| 99久久精品无码一区二区毛片| 欧美天天在线| 51调教丨国产调教视频| 欧美性受xxxx| 天天干在线视频论坛| 久久综合福利| 国产原创一区二区三区| 欧美三级一区二区三区| 最近中文字幕2019免费| 91精品尤物| 国产精品人人爽人人爽| 亚洲精品国产精华液| 欧美女同网站| 亚洲一区二区久久久久久久| 一区二区毛片| 日韩成人短视频| 亚洲免费电影在线观看| 99tv成人影院|