如何衡量开机时间?

我想知道什么是测量客户端机器启动时间的“正确”或“最重要”的方式:

  • 从打开到login提示
  • 从打开到login提示(硬盘指示灯熄灭)
  • 从打开到浏览器打开(硬盘指示灯熄灭)
  • 从开启到最常用的3个应用程序打开(HDDclosures)

等等…

我通常使用第三个,因为这是在系统变得可用和有用之前的时间。 你怎么看?

我会测量从POST结束的时间点到自动login完成的时间,用户可以使用他们最常用的应用程序(即:Firefox等)。 等待硬盘驱动器指示灯停止工作对于背景索引和预读相关任务来说基本没有意义,您的硬盘驱动器可能不会停止活动,直到您实际上能够有效开始使用计算机几分钟后。

如果你在Linux上这样做,你可以尝试启动图表,它将帮助你确定需要花费很长时间才能启动。

http://www.bootchart.org/

最重要的是在你的测量方法上保持一致,这样,如果你调整任何你正在比较苹果和苹果。

我不知道是否有这样的标准,但我个人认为我的系统已经启动,当我能够打开开始菜单(或docker),并启动一个应用程序。 在这之前,我并不真正考虑系统的可用性。

也就是说,我想任何引导时间的制造商都会引用最短的时间,这将是login提示,或桌面出现,我会想象。

我认为启动时间通常是衡量您的login提示,并可以开始与操作系统交互,因为操作系统有后台服务运行,你可以与它交互,如果你启动应用程序来衡量“有用”你引入了操作系统制造商无法控制的variables(他们没有制作firefox或其他常用的应用程序,所以如果库文件加载速度慢,这不是他们的错误)。

如果您正在对操作系统的启动性能进行基准testing,您就可以在告诉您“您好,世界!”之前及时测量操作系统所花费的时间……login提示符开始input的时间。

我通常会随着时间的推移测量和logging所有这些,随着时间的推移,所有这些都会随着系统问题,启动过程,应用程序的变化,机器规格的变化,购买的PC的型号的变化等而变化。 有一个logging,这些时间是在原来的构build可以是相当有帮助的。

在最后的testing应该完成时(3个应用程序打开),不仅可以打开应用程序,而且还可以执行简单的首次使用(例如,浏览器将加载主页,这可能就足够了;文字处理器可以加载testing文档(每次testing都一样:如果在networking资源上已经至less加载一次))。

在less数情况下,更详细的分析是值得的。 以networking为中心,我通常会从开机的时间来看待,比如:

  1. 第一次networking传输(通常是BOOTP / DHCP请求)
  2. networking负载/ DHCP设置和正在使用的服务器的时间
  3. DNS响应和正在使用的服务器的时间
  4. 启动networking活动的时间(如许可/更新检查)
  5. 浏览器主页开始/结束的时间
  6. rest时间(如果有的话)

通常这些将通过注意上电的时间,然后通过tcpdump或wireshark trace来查看。

再一次,这个logging可能带有帧数和总字节数,这对于软件和系统的变化是很有帮助的,而且在出现问题的时候也可以作为参考。

在Windows上,我通常测量,直到开始菜单可以打开,或者您可以通过右键单击桌面上得到响应。 将taskmgr.exe保存在Startup文件夹中可以获得另一个度量标准; 一旦CPU使用率下降到可用状态,机器可被视为“启动”。 许多软件可以加载login后(AV,各种代理或客户端等),在我看来,如果在几分钟之后完全无法使用桌面,尽可能快地进入桌面是毫无意义的。

正式的Windows启动时间定义,在NTLDR或WINLOAD完成时开始,内核开始logging系统时间并初始化其驱动程序,并在启动被认为是“好”时在第一次login时结束。

(在Windows中,WMI对象是Win32_OperatingSystem / LastBootUpTime。)

对于任何系统,Windows或不是,你可能想要一个秒表,看看多久的POST去。 当你看到OS屏幕时停止。 如果机器中有一个或多个RAID或SCSI控制器,则可能会很长。 然后从这一点进行另一次测量,直到机器可用/您login/您的所有守护进程开始。