BitLocker对性能有什么影响?

135

我是一名ASP.NET / C#开发人员,经常使用VS2010。我考虑在我的笔记本电脑上启用BitLocker以保护内容,但我担心会出现性能下降的问题。像Visual Studio这样的IDE工具的开发人员同时处理许多文件,比普通办公室工作者要多得多。

因此,我想知道是否有其他开发人员开启了BitLocker。性能如何?是否明显?如果是,那么糟糕吗?

我的笔记本电脑是一台2.53GHz的Core 2 Duo,配备4GB内存和Intel X25-M G2 SSD。它运行起来相当迅速,但我希望它一直这样。如果我听到关于BitLocker的坏消息,我将继续采取现在的做法,即在不积极使用时将文件RAR并加密,然后在完成后删除(但这很麻烦)。

2015年更新:我在旅行时使用Surface Pro 3上的Visual Studio 2015,默认启用了BitLocker。它感觉就像我的台式机一样,那是一台i7-2600k @ 4.6 GHz。我认为在现代硬件和良好SSD上,你看不出影响!

2021年更新:我已在所有计算机上启用BitLocker,现在它运行得非常快。不用担心。购买一款NVMe SSD,然后不要再回头看了。


2
一个6GB的数据库备份恢复时间从60秒增加到了90秒(三星860 Pro 512GB SSD)。 - MichaelD
7个回答

131

使用我的T7300 2.0GHz处理器和金士顿V100 64GB固态硬盘的结果如下:

Bitlocker关闭→开启

顺序读取243 MB/s→140 MB/s

顺序写入74.5 MB/s→51 MB/s

随机读取176 MB/s→100 MB/s

随机写入,以及4KB速度几乎相同。

很明显,在这种情况下,处理器是瓶颈。但在实际使用中,启动时间大致相同,使用79个标签启动Opera 11.5并从缓存加载所有标签所需的时间为4秒,这一点没有变化。

在两种情况下,使用VS2010进行小型构建都需要2秒。大型构建需要2秒比之前的5秒更快。这些数字不太精确,因为我只是看了看手表。

我想这完全取决于处理器、内存和固态硬盘与硬盘的组合。在我的情况下,处理器没有硬件AES,因此编译是最坏的情况,需要进行汇编和加密的循环。

在开发环境中,具有Sandy Bridge的新系统可能会更好地利用启用Bitlocker的固态硬盘。

个人认为,尽管性能下降,出差经常的情况下仍然启用Bitlocker。只需花费不到一小时的时间即可切换Bitlocker开关,因此您可以在旅行时打开它,然后在旅行结束后禁用它。

Thinkpad X61,Windows 7 SP1


我使用戴尔Inspiron 15 7000游戏本,开启BitLocker后,有时候在简单输入文本时会卡住!O.0 - J86

70

一些实际测试...

  • Dell Latitude E7440
  • Intel Core i7-4600U处理器
  • 16.0 GB内存
  • Windows 8.1专业版操作系统
  • LiteOn IT LMT-256M6M MSATA 256GB固态硬盘

测试使用了一个系统分区,非系统分区的结果会稍微好一点。

得分减少:
读取:5%
写入:16%

未开启BitLocker:

Without BitLocker

已开启BitLocker:

With BitLocker

可以看到,在极强的配置和现代的SSD硬盘下,测试会有轻微的性能下降。不清楚在实际工作中表现如何,特别是使用Visual Studio时的表现。


1
我的公司笔记本电脑有C盘BitLocker加密。如果我删除它,会丢失任何数据吗?它是一台ThinkPad T440p。 - STEEL
1
不会。如果您的磁盘硬件配置发生更改,恢复机制将出现,您必须使用恢复密钥(可以生成并存储在Microsoft帐户或文件中)解锁驱动器。更多信息:http://windows.microsoft.com/en-us/windows7/what-is-a-bitlocker-recovery-key - Kryszal

22

我使用启用了BitLocker的笔记本电脑已经将近两年了,具有大致相似的规格(不幸的是没有SSD),我可以说它并不那么糟糕,甚至根本感觉不出来。虽然我没有在没有启用BitLocker的情况下使用过这台特定的机器,但与我的台式机(双核,16 GB,双Raptor硬盘,没有BitLocker)相比,它真的感觉一点也不缓慢。构建大型项目可能会需要更长的时间,但不足以引起注意。

为了用更多的非科学的“证据”来支持这一点:我的许多同事在我加入公司之前曾经密集地使用他们的机器而未启用BitLocker(尽管我非常确定这两件事情是完全无关的),他们也没有体验到明显的性能下降。

对于我个人而言,拥有一个“始终开启”的BitLocker解决方案远胜过手动加密步骤。另一方面,Windows 7上的Bitlocker-to-go(新功能)对于USB设备来说实在太烦人了,因为你不能轻松地与非W7机器交换信息。因此,我使用TrueCrypt进行可移动介质加密。


1
这是很棒的信息。谢谢你。我会再多留一会儿,以便其他人也能提供意见。 - Chris

10

我在这里从理论角度谈论;我没有尝试过BitLocker。

BitLocker使用128位密钥的AES加密。在一个主频为2.53 GHz的Core2机器上,使用一个核心的加密速度应该约为110 MB/s。两个核心可以处理大约220 MB/s,假设没有任何开销的完美数据传输和核心同步,以及在同一时间内没有任何东西需要CPU(实际上这是一个非常大的假设)。X25-M G2宣布其读取带宽为250 MB/s(规格说明是这样说的),因此,在“理想”条件下,BitLocker必然会有一点减速。

然而,读取带宽并不那么重要。它在你拷贝大文件时很重要,但这并不是你经常做的事情。在日常工作中,访问时间更为重要:作为开发者,你创建、写入、读取和删除许多文件,但它们都很小(它们中大部分远小于1MB)。这就是使得SSD“轻快”的原因。加密不会影响访问时间。因此,我的猜测是,任何性能下降都将是可以忽略不计的(*)。

(*) 在此,我假设微软的开发人员做了他们的工作。


我的一个担忧是在大型解决方案中进行“查找文件”。BitLocker能否在没有主要减速的情况下完成此操作?它是否仍然可以缓存文件,以便后续搜索更快?至于ReSharper的解决方案范围分析,也许我只是过于担心了。 :) - Chris
2
在某些时候,你必须尝试;系统性能受太多微妙因素的影响,无法完全凭借大脑在所有情况下可靠地推断。 - Thomas Pornin
3
@ThomasPornin, 我真的很想点个踩,因为你“假设微软的开发人员做好了他们的工作。” 哈哈。当然我只是在开玩笑,但觉得必须要插一句。 - Andrew Steitz

5
许多应用程序都有明显的差异。如果您目前受到存储吞吐量限制,特别是在读取数据时,BitLocker会降低速度。与其他基于软件的整个磁盘或整个分区加密方式(如TrueCrypt)进行比较将是有用的(TrueCrypt具有优势,如果您使用Linux双启动,因为它适用于Windows和Linux)。更好的选择是使用硬件加密,许多SSD以及Hitachi 7200 RPM HDD都提供这种加密方式。加密和未加密的性能是无法检测到的,并且操作系统无法感知加密。如果您拥有一台像样的笔记本电脑,则可以使用内置安全功能来生成和存储密钥,而密码则从笔记本电脑的加密密钥存储中解锁密钥。

1

我曾经在笔记本电脑上使用PGP磁盘加密产品(并在其之上运行NTFS压缩!)。如果要读取的磁盘空间较小,它似乎没有太大影响;而且大多数软件源在磁盘标准上都不算巨大。

你有很多RAM和相当快的处理器。我大部分时间都在思考、打字或调试。

我不会太担心这个问题。


1
我的当前工作机器配备了Bitlocker,是从之前的型号升级而来。对我来说,它似乎只是更快了。然而,我发现在准确地写入数据方面,Bitlocker比Truecrypt更加坚固。我在SAS中做了很多工作,它会不断地将备份副本写入磁盘,并在最后将各种输出类型发送到磁盘。SAS在将输出从多线程进程写回Bitlocker时可以正常工作,并且似乎不知道它的存在。但我在使用Truecrypt时并非如此。我不确定发生了什么或者如何发生的,但我发现当在Truecrypt容器中处理源/输出数据时,进程会出现不同步的情况。因为第二台电脑上没有Bitlocker,所以我在那里安装了Truecrypt。不断的备份是发送到固态硬盘上的,而Truecrypt的结果则在常规硬盘上。也许速度差异导致了问题。无论原因是什么,我不得不停止在第二台计算机上使用Truecrypt,因为它使我的SAS结果与处理顺序不同步,破坏了一些过程和数据。在我的世界里,这是可怕的事情。 我与一些人一起工作,他们在完全相同的计算机上成功使用Truecrypt,但他们没有使用像SAS这样磁盘密集型应用程序。
Bitlocker to Go是Bitlocker应用于U盘的加密功能,但它会显著降低读写速度。只要您记得U盘密码并愿意等待其格式化/初始化,使用起来并不太难,但根据我的经验,它使得访问闪存驱动器变慢了约4倍。我不知道为什么它会减慢U盘而不是磁盘,但这就是我和我的同事的情况。

基于在工作中使用Bitlocker的成功经验,我购买了Windows Pro用于家庭电脑,以获取Bitlocker,并计划使用它加密一些目录,例如财务文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接