无盘服务器 机械盘,Win7启动速度研究,同样的PC配置,机械盘、固态盘、无盘网络启动速度为何不同?...
別裝深沉了,趕快來湊湊熱鬧吧!
您需要 登錄 才可以下載或查看,沒有帳號?立即注冊
x
一、環境:
一臺臺式機(映泰B85、i5-4590、16G內存、三星、Intel固態盤、Realtek網卡);
一臺筆記本(T440P、8G內存、三星、Intel固態盤、Intel I217-LM網卡);
一個8口TP-LINK塑料外殼千兆交換機;
網維大師無盤2250版本;
二、起因:
1、系統問題反饋群里的凌風同學糾結本站提供的14Q4和15Q3啟動速度有差別,14Q4的花瓣界面比15Q3的時間短大概2秒,我們很好奇為什么;
2、同樣一臺PC機,配置固定,BIOS版本及設置固定,為什么機械盤、固態盤、無盤啟動的速度不同呢?
3、以上2個問題的延伸段,到底慢在哪里呢?
三、工具:
帶著這些疑問,我在Windows ADK中找到了微軟自家性能分析工具Windows性能分析器(Windows Performance Toolkit,簡稱WPT),之所以能知道這個工具,是因為做Win2012、Win10 GHOST系統時,需要使用Windows ADK……
Windows ADK下載器下載地址:該ADK支持:Windows 7, Windows 8, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Server 2012, Windows Vista
由于微軟沒提供adk的ISO,所以只能用下載器下載,你安裝時,可以只選擇下圖的工具下載安裝,這樣速度會快一點;
1.png (54.65 KB, 下載次數: 341)
2015-12-19 15:45 上傳
0、BIOS 階段
按下開機按鈕,BIOS進行自檢并加載BIOS設置,這個引導過程結束時,會檢測到一個有效的系統盤才能繼續啟動。
如果BIOS設置為有盤啟動:BIOS嵌入式啟動程序讀取MBR主引導記錄,DPT分區表,PBR分區引導記錄,然后找到并啟動Bootmgr啟動管理器,Bootmgr讀取BCD啟動配置數據,然后根據BCD啟動配置數據找到Winload.exe并啟動它,然后由Winload.exe開始初始化并啟動整個操作系統;
如果BIOS設置為無盤啟動:PXE程序開始工作,初始化網卡,檢測線路通斷,DHCP獲取客戶機IP信息,TFTP傳輸無盤引導程序,然后由無盤引導程序加載Bootmgr.exe讀取BCD啟動配置數據,然后根據BCD啟動配置數據找到 Winload.exe并啟動它,然后由Winload.exe開始初始化并啟動整個操作系統;
注1:不同的無盤實現原理略有差異,例如網維無盤是從服務器讀取bootmgr,而其他無盤是讀取img包里的bootmgr,這就是為什么其他無盤能換開機啟動畫面,但是網維無盤不能的原因,因為修改啟動畫面需要修改bootmgr……同時網維無盤的bootmgr是被修改過的,粗暴的替換可能導致無法啟動……
注2:BIOS階段的耗時WPT是捕獲不到的;
微軟把BIOS之后的系統啟動過程分為以下5個階段,使用Windows性能分析工具可以采集到這些信息,其實360之類的軟件采集系統開機時間,也是通過這種方式實現的,根據一些資料,整理了一份啟動階段圖標,從下面這張圖,大概能看到啟動時間消耗在什么地方;
1.png (75.36 KB, 下載次數: 313)
2015-12-19 15:47 上傳
五、WPT工具的使用:
結合以上原理,我們可以初步通過WPT性能分析工具來對比下系統啟動耗時,大概慢在什么地方;
第一步:將Superfetch和計劃任務服務設置為自動,cmd內運行以下代碼,然后重啟計算機:
Reg Add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SysMain /v Start /t REG_DWORD /d 2 /F
Reg Add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Schedule /v Start /t REG_DWORD /d 2 /F復制代碼第二部:捕獲系統性能日志,cmd逐行執行以下代碼,代碼執行完成后,系統會自動重啟;
cd\
cd "C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit"
xbootmgr.exe -trace boot復制代碼第三步:獲得etl性能日志;
系統重啟開機后,會彈出一個提示,直接點Finished即可,然后按alt+f4關閉程序;到C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit目錄可以拿到捕獲日志:boot_BASE+CSWITCH_1.etl文件,可以直接雙擊打開;我把這個文件拷貝到桌面打開了,下圖為打開后的效果:
etl1.png (51.37 KB, 下載次數: 335)
2015-12-19 15:50 上傳
System Activity:系統活動信息,各個啟動階段的性能信息等,非常豐富,我也只了解了一小部分;
Computation:cpu使用消耗;
Storage:磁盤使用消耗情況;
Memory:內存使用消耗情況;
六、案例分析:
當你大概會使用工具,初步了解原理后,你可以找一個快的和一個慢的系統對比原理部分將的5個環節耗時;
下面是我的筆記本作為客戶機測試所得數據,左側是SSD啟動,右側是無盤啟動;
SSD_Diskless.png (307.12 KB, 下載次數: 317)
2015-12-19 15:51 上傳
從啟動的過程分解步驟來看,時間主要是消耗在了Pre Session Init和Session Init階段,然后根據io吞吐數據來看,無盤的主要瓶頸還是在數據讀取上;
ssd讀取數據的峰值可以達到450M/BS以上,而千兆無盤只能在理論的125MB/S以內,同時根據無盤的網絡讀取性能差異,實際上也只有50MB/S左右的峰值;
圖片內數字單位:秒;
boot_time_ssd_diskless.png (5.93 KB, 下載次數: 292)
2015-12-19 15:51 上傳
當慢慢深入接觸Windows之后,發現系統真的是極為復雜的一個東西,要想深入研究還是要花很多時間才行,所以這篇文章暫時就放在這里,作為一個“研究過”的記錄吧!
總結
以上是生活随笔為你收集整理的无盘服务器 机械盘,Win7启动速度研究,同样的PC配置,机械盘、固态盘、无盘网络启动速度为何不同?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 清华镜像源安装 NGboost XGbo
- 下一篇: lamp ci框架 php配置文件,LA