分享

主流杀软性能分析(续篇)

 法无心 2018-03-18
本帖最后由 B100D1E55 于 2018-3-18 11:17 编辑

之前关于ESET性能讨论的文章写完后脑子一热给自己挖了大坑,留下了很多未更新内容……本来以为可以悄无声息地坟掉,但没想到居然还有人一直记着这两天终于基本把测试都跑完了,整理数据后发现内容不少,厚脸皮另开一帖分享一下。

本次测试在上次测试的基础上进一步增加了PCMark 8和其他测试,包括:
1.        Office 365 套件性能测试 (Word,Excel,PowerPoint)
2.        Adobe系列性能测试(Photoshop,Illustrator,InDesign,After Effects,Illustrator)
3.        磁盘性能测试(WoW,Battlefield 3,Adobe,Office)
4.        家庭场景测试(网页浏览、文档编辑、图片处理、视频转码、3D游戏)
5.        创作场景测试(网页浏览、视频播放、视频图片音频编码处理,游戏)
6.        办公场景测试(网页浏览、报表、视频播放、视频编码)
7.        应用程序启动测试(Libreoffice,Chromium等)
8.        应用程序安装测试(R安装速度)

测试的精确度

在当代多任务操作系统中,完全隔离其他干扰因素获得极精确的测试基本不可能,而禁用过多的系统后台任务也使得测试环境变得不现实。为了尽可能让测试结果精确,我不得不对单项多次重测取平均数,并且还要隔一段时间随机抽样重新测试进一步确保结果的置信度。为了精度和广度,测试的时候在每款产品上都耗费了不少时间。
平均下来一款产品要测试3天,毕竟要先“煲机”(让杀软缓存系统数据,等待占用稳定),然后跑各项测试,最后还要抽样交叉验证以将误差控制在2%左右。从多次采样复测的情况来看测试的结果可复现性很强,抽样重测的结果和首测误差在2%以内。也正因此,性能误差在2%以内的数据算作“无性能影响”。

测试的项目介绍

Office测试:
Office测试使用的是最新的Office 2016。测试方法以采用“重放”的方式,在测试机上重放录制好的操作并测算耗时。以Word为例,其录制的操作包括打开一个77页的文档,然后再将其中一部分内容拷贝到第二页,保存文档,进行一些文本编辑,插入图片,最后关闭文档。测算的项目包括:初始载入文档到显示的延迟、复制粘贴延迟、文本编辑耗时、文件保存耗时等等。最后计算各个项目的几何平均得出结果。

Adobe套件测试:
Adobe测试使用的是最新的CC 2017。类似于Office测试,使用“重放”自动化录制好的操作,再进行各项目耗时侦测。其中After Effects这种主要考察视频渲染耗时,而Illustrator等则类似于Word的考察,通过测算不同操作的耗时最终进行几何平均得出结果。

磁盘性能测试:
磁盘性能测试同样基于“重放”,但也有些许不同。基本上可以将磁盘测试看作是一个基于事件驱动的模拟(event-driven simulation),先在参考系统中运行对应程序并录制对应的文件系统操作。这些操作包含了文件大小、文件位置等细节,但是文件内容并没有捕捉。这个事件序列随后使用RankDisk在测试机上重放并测算耗时。这种测试方法被广泛运用在各大专业测试媒体的Windows储存性能测试上(包括Anandtech,storagereview.com等),而对应的事件模拟也是大多储存界论文性能测试使用的方法之一。这里需要注意的一点在于,虽然这个测试充分模拟了文件的读写特性并可以考察硬件性能,但由于文件内容并不是真实的,因此杀软的性能并不能完全考察到(例如有的杀软会先检查是否是可执行文件从而决定是否跳过扫描)。但是由于这些磁盘测试包含了大量密集的I/O Syscall,因此仍旧可以反映一些杀软的性能影响。

至于真实的文件测试,可以参考程序启动速度测试(已缓存文件读取性能)或者程序安装测试(未缓存文件写入性能)

测试在系统盘上进行,每次测试前先TRIM全盘并保留足够的GC空间。抽样重测的结果显示这种方法的测试结果可以稳定复现,误差非常小。

场景测试:
场景测试分为三种主要的类别:家庭类和办公室类属于轻量级测试,而设计创作场景负载相对高一些。有一些测试项目是三者共享的,实际测试时会对{防吞补丁}所有项目进行测试,然后将结果归类到不同场景类别并分别计算总分。这样一来不同的用户可以看到自己感兴趣的产品在对应应用场景的性能影响。

应用程序启动测试:
这个项目延续之前那篇的测试,拓展到了更多产品上。由于测试平台变更了,所有产品都进行了重测,测试结果可能和上一篇中的会有差别(这也是为什么AV-TEST等机构会用不同配置的机器考察性能的原因之一)。

应用程序安装测试:
这个测试是中期临时增加的,主要是顾及到上述测试的死角(未缓存文件监控)。测试使用R的安装程序并测算安装耗时。安装目标是一块500GB的移动硬盘,每次测试前都会格式化以消除磁盘碎片对性能的影响。

没测试的项目介绍

续航测试:
续航测试所需耗时极长(一般循环运行待测程序集直到电量耗尽,期间还有很多变数无法控制),我个人考虑使用WADK的一些接口测算实时耗电,不过框架都还没开始搞所以就不先挖坑了。

网页浏览测试:
之前说过在完全控制变量的前提下公平地测试这个项目很困难,这里不予考虑

实际游戏测试:
和跑3DMark那种不同,实际游戏对整机性能考察更全面(3DMark之流一般是预先载入,而不少游戏大地图的时候是持续I/O读取+内存数据交换)。因为测试实际操作起来很麻烦,所以没有测。

编译性能:
不算是普通用户应用场景中的东西,没测。

其他:
肯定还有其他没覆盖到的,测试全面是很难做到的事情

测试平台
i7 5775c
16GB RAM
128GB SATA SSD (Bitlocker加密,有启用LPM)
Windows 10 Pro 16299

测试对象

除非特别注明,以下产品均以默认设置进行测试
Windows Defender 16299
Bitdefender Internet Security 2018
EMSI Anti-Malware 2018.2.1.8483
Norton Deluxe 2018 *
ESET Internet Security 11
Kaspersky Internet Security 2018
火绒安全软件 4.0
Avast Internet Security 2018 **
Avira Free Antivirus 2018 ***
TrendMicro Internet Security 2018

* 因为是自动化测试,测试前关闭了Norton一系列自动优化任务/自动扫描任务以免干扰
** 没有安装和防病毒无关的组件
*** 搞到Pro免费试用貌似很麻烦,所以测试免费版本(没有网页防护组件)

测试结果
以下成绩均为相对于基准线(即没有任何杀软的系统)的性能损失比率,最差的成绩用红色标出,最好的用绿色,“=”代表性能差别在2%误差范围内,算作“几乎无性能损失”

Office性能测试:
WDBDEMSINISEISKIS火绒AvastAviraTrend
-5.9%-3.2%-4.3%-4.5%=-5.9%-10.2%-11.7%-2.9%-7.0%

Adobe性能测试:
WDBD EMSI NIS EIS KIS 火绒 Avast Avira Trend
-10.2%=-4.4% = -3.5% -5.5% -4.8% -11.5% = -9.9%

非常令人惊讶的是,在两个常用应用软件套装的性能测试中,性能最差的居然是Avast,而且性能折损比率很大。我一度以为是测错了,又测了几次发现结果均一致才记录下来……整体表现比较好的是Avira和ESET,KIS,EMSI和NIS次之,接下来是差距比较明显的则是WD等,不知和大家的应用体验有没有出入?
在Office测试中性能掉队比较严重的主要是PowerPoint上,相较于2.74s的裸机数据,Avast需要耗时3.58s。而在Adobe系列测试中,掉队比较严重的项目是Illustrator和After Effects。其中Avast在AE上多耗费了27%的时间,而WD在Illustrator上多耗费了25%的时间。KIS在PS上多耗费了12%的时间。

家庭场景测试:
WDBDEMSINISEISKIS火绒AvastAviraTrend
===-6.3%==-5.4%-2.8%==
办公场景测试:
WDBDEMSINISEISKIS火绒AvastAviraTrend
===-6.0%==-6.9%-5.1%==
创作场景测试:
WDBDEMSINISEISKIS火绒AvastAviraTrend
===-3.5%==-3.8%-2.6%==

场景测试中大多数杀软和基准线相比性能差都很小。这里我个人倾向于解读为“如果没有性能差,不代表实际应用时就一定没有性能问题;如果有性能差,那的确有些问题”。毕竟这些测试对实际操作模拟均有局限性。

测试中有个小插曲,那就是所有受测产品中,只有EMSI一款在测试的时候把PCMark测试程序的一些行为当作恶意行为自动隔离了,测试崩溃了好几次……这点让我很火大,侧面也说明其误报控制做得很有问题。估计Cylance都不敢误报PCMark

3D测试的帧率在所有产品上都很一致,侧面说明杀软对纯粹3D渲染性能影响几乎为零,但实际游戏场景比这个更加复杂。

成绩掉队的几款产品中,NIS主要差别在本地网页加载时间上,而火绒主要性能差别在文本编辑应用和网页加载方面。BD在视频编辑测试中耗时增幅较大,但总体成绩差别很小(关于BD的视频编辑测试,仍需要重新测量进行验证)。

磁盘性能测试:
总分
WDBDEMSINISEISKIS火绒AvastAviraTrend
==========

在跑测试前我原本估计磁盘性能应该和杀软基本无关,经过测试验证后发现的确没有可见磁盘性能影响。测试时发现LPM可能会意外{过}{滤}挂起磁盘造成系统冻结,部分数据回炉重测后现已更新为新结果

程序启动性能测试:
WDBDEMSINISEISKIS火绒AvastAviraTrend
-26.7%-2.0%-8.41%-15.5%-11.6%-4.9%-18.4%-17.8%=-35.9%
应用安装速度:
WDBDEMSINISEISKIS火绒AvastAviraTrend
-8.4%-2.3%-18.4%-18.3%-15.9%=-4.5%-6.1%-14.1%-4.9%

和预期中的一样,大部分杀软在新进程序的场景中由于各种检查的额外负担性能出现了较为明显的损失。其中在应用程序启动中表现最差的是趋势,而WD紧随其后拖慢了1/4 。这里比较有意思的是在高性能电脑的场景中(本次测试使用的是4C8T的i7+16GB RAM,而上次测试是2C4T的i5+4GB RAM),相较于前一篇的数据,虽然杀软的相对排位没有什么变更,但是性能折损数据出现了变化。例如之前ESET启动速度拖慢了~20%,在今次高性能平台上仅拖慢了10%,排位还和诺顿发生了反转。这侧面反映出测试性能的时候不同杀软在不同级别硬件配置下可能表现不同。

应用程序安装测试中,EMSI表现较差,这也基本符合AVC应用安装测试中的考察结果。但微软的测试结果和AVC结果不符,猜测可能是因为1)安装程序不同 2)版本变更导致 3)硬件配置不同。BD和KIS在这个测试中对性能没有明显影响,要点个赞。

一些观察

以下是我在测试中一些观察,虽然没有详细数据作为佐证,但因为都是可以明显感知到的,写在这里以供参考


1) BD安装后初次升级极慢,注意,是非常非常慢。在网络联通的情况下我耗费九牛二虎之力才让其成功升级。联系到之前有人说过BD升级的老毛病,这似乎也是验证了他们的说法
2)初次全盘扫描较慢的产品有:EIS和NIS


其他讨论

电源模式对性能的影响:
@191196846 同学之前提及Windows 10里面4档的电源模式(节电、推荐、更好的性能、最佳性能)。“推荐”的电源方案包含了新版Windows对移动设备节电进行的优化:Windows在新版系统(1709)上引入了新的省电机制叫做“power throttling”。其利用Intel 6代酷睿开始拥有的Speedshift技术对程序进行性能限制以减小后台进程耗电。这个技术在Modern Standby待机时效果尤为明显(早年待机时经常无法挂起win32后台导致高耗电)。而使用计算机时更是会较为激进地限制一些系统组件的耗电(例如Edge,这也是Edge省电的原因之一)。作为代价,这个电源方案不仅对主频有一些限制,对一些进程的响应速度也有些许影响。可以通过任务管理器查看进程的限制状况。

个位数百分点的性能损失大吗:
安全和性能在很多场景下是相矛盾的需求,为了安全牺牲性能有时候在所难免。可能有的人看到自己关注的安软性能损失是个位数,觉得这在实际情况对用户没什么影响。我个人其实也不觉得5%左右的性能差异会带来很大的体验区别,但还是有两点额外看法:

1)        相对性能损失和绝对性能损失:对于短延迟的任务个位数百分比的额外延迟的确很难被察觉,但是如果任务耗时很长(数十分钟或者数十个小时),那么就算是5%的延迟也会反映为数十分钟的额外处理时间。人对于相对比率的感觉在大的绝对值差异下更加明显。



2)        纵观Intel历代处理器的性能发展(例如使用IPC作为标准,上图的黄色条状图),近10年来不算上主频福利,每代单线程性能提升大约在5%~10%,近几年这个速度更是进一步减缓,而整机性能由于其他部件的因素性能提升甚至小于这个数值。也就是说,数千块钱购买的新一代产品在微架构上的性能提升可能在一些软件的“反作用”下又被打回原形。

不同杀软在不同项目表现迥异:
这点属于正常现象。设计思路不同导致不同杀软的防御、监控方式不同,牺牲的性能场景也相应不同。例如ESET启动时的拖累主要源于内存扫描,但相应的,由于执行前已经进行了代码检查,执行时就几乎没有可见性能损失。其他安全软件或多或少也有这方面的权衡。

结语

杀软性能一直是很容易被忽略的一个评估点。很多人对杀软是“轻武器”或是“重武器”往往是从其安装包大小、界面响应速度、进程内存占用、进程数量等推测出来的,甚至有以讹传讹的现象。事实上细致严谨的测试才能较为真切地反映出不同杀软的性能影响。这里面影响因素非常复杂,就如同之前所说,计算机配置差异、不同产品监控点差异都可以导致不同场景下的性能损失大不相同。为了能给大家一个比较好的参考,我才决定将测试结果细分成不同场景、不同项目进行展示,以各取所需。这些测试均有其局限性,但总体有一定参考价值。
毫不夸张地说,权衡性能和防护能力是防毒软件工程的艺术,是优秀杀软必须要解决的一个问题。希望这个测试能对大家选择合适自己的杀软有一定帮助。

附录
同2017年10月AVC的PCMark成绩进行对比(相对排位)


声明:
由于测试项目繁多且时间有限,如果后续发现有些测试成绩有偏差会进行修改,修订记录会写在这里。

2018-03-17:磁盘性能测试成绩进行了修正(去除因LPM异常导致的成绩偏差)




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多