无盘服务器 机械盘,Win7启动速度研究,同样的PC配置,机械盘、固态盘、无盘网络启动速度为何不同?...

别装深沉了,赶快来凑凑热闹吧!

您需要 登录 才可以下载或查看,没有帐号?立即注册

da169014324420e033ee0b527d965ce6.gif

0e1d0e72a790b3b5c404fb78bbbc18ef.png

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,所以只能用下载器下载,你安装时,可以只选择下图的工具下载安装,这样速度会快一点;

35f7ce90976184410955c5e16018dc03.gif

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之类的软件采集系统开机时间,也是通过这种方式实现的,根据一些资料,整理了一份启动阶段图标,从下面这张图,大概能看到启动时间消耗在什么地方;

35f7ce90976184410955c5e16018dc03.gif

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文件,可以直接双击打开;我把这个文件拷贝到桌面打开了,下图为打开后的效果:

35f7ce90976184410955c5e16018dc03.gif

etl1.png (51.37 KB, 下载次数: 335)

2015-12-19 15:50 上传

System Activity:系统活动信息,各个启动阶段的性能信息等,非常丰富,我也只了解了一小部分;

Computation:cpu使用消耗;

Storage:磁盘使用消耗情况;

Memory:内存使用消耗情况;

六、案例分析:

当你大概会使用工具,初步了解原理后,你可以找一个快的和一个慢的系统对比原理部分将的5个环节耗时;

下面是我的笔记本作为客户机测试所得数据,左侧是SSD启动,右侧是无盘启动;

35f7ce90976184410955c5e16018dc03.gif

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左右的峰值;

图片内数字单位:秒;

35f7ce90976184410955c5e16018dc03.gif

boot_time_ssd_diskless.png (5.93 KB, 下载次数: 292)

2015-12-19 15:51 上传

当慢慢深入接触Windows之后,发现系统真的是极为复杂的一个东西,要想深入研究还是要花很多时间才行,所以这篇文章暂时就放在这里,作为一个“研究过”的记录吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 681. 最近时刻

文章目录1. 题目2. 解题1. 题目 给定一个形如 “HH:MM” 表示的时刻,利用当前出现过的数字构造下一个距离当前时间最近的时刻。每个出现数字都可以被无限次使用。 你可以认为给定的字符串一定是合法的。 例如,“01:34” 和 “12:09” 是合法的&#xf…

[Hands On ML] 5. 支持向量机

文章目录1. 线性支持向量机分类2. 非线性支持向量机分类2.1 多项式核2.2 高斯 RBF 核3. 支持向量机回归4. 原理本文为《机器学习实战:基于Scikit-Learn和TensorFlow》的读书笔记。 中文翻译参考 SVM 特别适合应用于复杂但中小规模数据集的分类问题。 可参考&#…

LeetCode 340. 至多包含 K 个不同字符的最长子串(滑动窗口)

文章目录1. 题目2. 解题1. 题目 给定一个字符串 s ,找出 至多 包含 k 个不同字符的最长子串 T。 示例 1: 输入: s "eceba", k 2 输出: 3 解释: 则 T 为 "ece",所以长度为 3。示例 2: 输入: s "aa", k 1 输出: 2 解释…

LeetCode 616. 给字符串添加加粗标签(Trie树)

文章目录1. 题目2. 解题1. 题目 给一个字符串 s 和一个字符串列表 dict &#xff0c;你需要将在字符串列表中出现过的 s 的子串添加加粗闭合标签 <b> 和 </b> 。 如果两个子串有重叠部分&#xff0c;你需要把它们一起用一个闭合标签包围起来。 同理&#xff0c;如…

LeetCode 158. 用 Read4 读取 N 个字符 II

文章目录1. 题目2. 解题1. 题目 给你一个文件&#xff0c;并且该文件只能通过给定的 read4 方法来读取&#xff0c;请实现一个方法使其能够读取 n 个字符。 注意&#xff1a;你的 read 方法可能会被调用多次。 read4 的定义&#xff1a; 参数类型: char[] buf返回类型: int …

小白学数据分析-----数据指标 累计用户数的使用

小白学数据分析--数据指标累计用户数的使用 累计用户数是指注册用户数的累计&#xff0c;即可以认为是新用户的累计。在一般的数据统计中&#xff0c;我们基本上都会涉及到这个指标&#xff0c;且这个指标是逐渐累加的&#xff0c;比如&#xff1a; 时间 注册…

LeetCode 751. IP 到 CIDR(贪心)

文章目录1. 题目2. 解题1. 题目 给定一个起始 IP 地址 ip 和一个我们需要包含的 IP 的数量 n&#xff0c;返回用列表&#xff08;最小可能的长度&#xff09;表示的 CIDR块的范围。 CIDR 块是包含 IP 的字符串&#xff0c;后接斜杠和固定长度。例如&#xff1a;“123.45.67.8…

LeetCode 308. 二维区域和检索 - 可变(前缀和)

文章目录1. 题目2. 解题1. 题目 给你一个 2D 矩阵 matrix&#xff0c;请计算出从左上角 (row1, col1) 到右下角 (row2, col2) 组成的矩形中所有元素的和。 上述粉色矩形框内的&#xff0c;该矩形由左上角 (row1, col1) (2, 1) 和右下角 (row2, col2) (4, 3) 确定。其中&am…

实战 SQL Server 2008 数据库误删除数据的恢复 (转)

今天有个朋友很着急地打电话给我&#xff0c;他用delete语句误删除了SQL Server 2008数据库中两个表中的所有记录&#xff0c;而这个数据库之前没有任何备份。让我帮他解决一下&#xff0c;不然他要赔偿客户很多钱。 SQL Server中误删除数据的恢复本来不是件难事&#xff0c;从…

在线销售数据分析–人货场三维分析角度

文章目录一、数据来源及理解二、分析思路三、数据处理数据预处理数据清洗数据转换四、数据描述性统计五、三维分析-人用户质量分析用户类别分析DM(管理者)排名分析六、三维分析-货销售金额及销量分布情况商品退货率七、三维分析-场城市区域八、总结一、数据来源及理解 此次分析…

LeetCode 348. 判定井字棋胜负(计数)

文章目录1. 题目2. 解题1. 题目 请在 n n 的棋盘上&#xff0c;实现一个判定井字棋&#xff08;Tic-Tac-Toe&#xff09;胜负的神器&#xff0c;判断每一次玩家落子后&#xff0c;是否有胜出的玩家。 在这个井字棋游戏中&#xff0c;会有 2 名玩家&#xff0c;他们将轮流在棋…

LeetCode 694. 不同岛屿的数量(BFS/DFS+set)

文章目录1. 题目2. 解题2.1 BFS2.2 DFS1. 题目 给定一个非空01二维数组表示的网格&#xff0c;一个岛屿由四连通&#xff08;上、下、左、右四个方向&#xff09;的 1 组成&#xff0c;你可以认为网格的四周被海水包围。 请你计算这个网格中共有多少个形状不同的岛屿。 两个岛…

数据分析-书籍整理(二)

业务书籍 《数据化管理-洞悉零售及电子商务》讲解了关于零售和电商的一些知识&#xff0c;有很多实用案例。很有借鉴意义。 《游戏数据分析实战》游戏各个阶段的数据分析&#xff0c;方法&#xff0c;数据来源&#xff0c;案例等。 《增长黑客》这本书我看了两遍&#xff0c…

LeetCode 1516. Move Sub-Tree of N-Ary Tree(DFS)

文章目录1. 题目2. 解题1. 题目 Given the root of an N-ary tree of unique values, and two nodes of the tree p and q. You should move the subtree of the node p to become a direct child of node q. If p is already a direct child of q, don’t change anything. …

空气质量指数(AQI)分析与预测

文章目录前言一、背景Ⅰ数据来源Ⅱ 数据背景Ⅲ 分析目的二、数据探索性分析Ⅰ 数据类型Ⅱ 描述性统计Ⅲ 数据预处理1.缺失值处理1&#xff09;删除缺失值2&#xff09;均值/中值填充2.异常值处理3.重复值处理三、数据分析Ⅰ空气质量排名Ⅱ 全国空气质量1.全国空气质量等级统计2…

LeetCode MySQL解题目录

已完成的 LeetCode MySQL 数据库题目。点击查看我的 LeetCode 算法解题目录。 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询、条件查询、投影查询MySQL 排序、分页查询、聚合查询MySQL 多表查询、连接查询&#xff08;内连接、外连接&#xff09;…

数据分析方法--回归分析方法((SPSS建模:多元线性回归案例)

文章目录回归定义最常用回归方法一、线性回归(Linear Regression)二、逻辑回归(Logistic Regression)三、多项式回归(Polynomial Regression)四、逐步回归(Stepwise Regression)五、岭回归(Ridge Regression)六、套索回归(Lasso Regression)七、回归(ElasticNet)如何正确选择回…

LeetCode MySQL 1511. Customer Order Frequency

文章目录1. 题目2. 解题1. 题目 Table: Customers ------------------------ | Column Name | Type | ------------------------ | customer_id | int | | name | varchar | | country | varchar | ------------------------ customer_id is the p…

LeetCode MySQL 1075. 项目员工 I

文章目录1. 题目2. 解题1. 题目 项目表 Project&#xff1a; ---------------------- | Column Name | Type | ---------------------- | project_id | int | | employee_id | int | ---------------------- 主键为 (project_id, employee_id)。 employee_id 是员…