总结:

三组充分的对比实验:

1. 内核关闭audit

2. 内核开启但是system service disable

3. 内核开启且system service enable但无规则

4. 内核开启且system service disable且写规则(依照CIS benchmark方式加固)

指标(主要):

1. Execl

2. File Copy

3. Pipe Throughput

4. Pipe-based Context Switching

5. Process Creation

6. System Call Overhead

结论:

  1. 第一组和第二组的结果是接近几乎一致的,说明内核支持只要system关闭是不影响客户的。
  2. 第三组相比前两组性能是有一定的影响的,大部分都是在2-10%之间,只有system call overhead性能下降了32%。
  3. 第四组相比前两组性能是有很大的影响的,少数是在5-10%之间,有一些达到了30-50%,如:file copy和Pipe Throughput,特别是system call overhead性能损失严重,下降了71%。
  4. 开启CIS加固会很大程度上影响文件拷贝/系统调用开销问题,其余是小部分影响,但其中不会影响读写(随机/顺序等)。
  5. amazon和redhat加固镜像中开启了audit模块,但性能是一定受影响的。
Audit条目 CentOS7.6 Amazon Aliyun开启前
CONFIG_FSNOTIFY y y y
CONFIG_IMA y y not set
CONFIG_INTEGRITY y y y
CONFIG_AUDIT y y not set
CONFIG_AUDIT_ARCH y y y
CONFIG_AUDITSYSCALL y y null
CONFIG_AUDIT_WATCH y y null
CONFIG_AUDIT_TREE y y null
CONFIG_NETFILTER_XT_TARGET_AUDIT m m null
CONFIG_INTEGRITY_AUDIT null y null
CONFIG_KVM_MMU_AUDIT y y not set
CONFIG_IMA_AUDIT y null null
CONFIG_HAVE_ARCH_AUDITSYSCALL null y y

一、 UnixBench测试

结论:

  1. 单线程-高-影响:File Copy,Pipe Throughput,System Call Overhead
  2. 单线程-低-影响:Pipe-based Context Switching,Process Creation,Shell Scripts(copy)
  3. 多线程-高-影响:Pipe Throughput,Pipe-based Context Switching,Shell Scripts(copy)
  4. 多线程-低-影响:File Copy,System Call Overhead,Process Creation
  5. 非影响因素:是否sudo用户,是否sudo用户做benchmark限制,是否在系统层面(日志或者目录访问,提权,账户变更)做加固。

1.1 1个线程

------------------------------------------------------------------------

Benchmark Run: Wed Apr 10 2019 08:10:23 - 16:38:29

16 CPUs in system; running 1 parallel copy of tests

加固前:Dhrystone 2 using register variables       29511633.9 lps   (10.0 s, 7 samples)

加固后:---------------------------------------- 29573692.6 lps   (10.0 s, 7 samples)

加固前:Double-Precision Whetstone                     3672.8 MWIPS (9.9 s, 7 samples)

加固后:----------------------------------------- 3665.2 MWIPS (9.9 s, 7 samples)

加固前:Execl Throughput(6.6%下降)          4270.3 lps   (30.0 s, 2 samples)

加固后:------------------------------------ 3986.8 lps   (30.0 s, 2 samples)

加固前:File Copy 1024 bufsize 2000 maxblocks(35.0%下降)  988749.2 KBps  (30.0 s, 2 samples)

加固后:----------------------------------------------------- 642355.5 KBps  (30.0 s, 2 samples)

加固前:File Copy 256 bufsize 500 maxblocks(37.4%下降)  262803.5 KBps  (30.0 s, 2 samples)

加固后:--------------------------------------------------- 164420.2 KBps  (30.0 s, 2 samples)

加固前:File Copy 4096 bufsize 8000 maxblocks(29.1.0%下降) 2936522.3 KBps  (30.0 s, 2 samples)

加固后:------------------------------------------------------- 2081661.4 KBps  (30.0 s, 2 samples)

加固前:Pipe Throughput(46.6%下降)                1792076.0 lps   (10.0 s, 7 samples)

加固后:----------------------------------------   956265.1 lps   (10.0 s, 7 samples)

加固前:Pipe-based Context Switching (6.1%下降)     36441.8 lps   (10.0 s, 7 samples)

加固后:---------------------------------------------- 34194.4 lps   (10.0 s, 7 samples)

加固前:Process Creation (4.5%下降)                7526.3 lps   (30.0 s, 2 samples)

加固后:---------------------------------------- 7181.7 lps   (30.0 s, 2 samples)

加固前:Shell Scripts (1 concurrent)(7.2%下降)       7227.9 lpm   (60.0 s, 2 samples)

加固后:-------------------------------------------- 6700.3 lpm   (60.0 s, 2 samples)

加固前:Shell Scripts (8 concurrent)(9.1%下降)     3571.0 lpm   (60.0 s, 2 samples)

加固后:------------------------------------------- 3245.5 lpm   (60.0 s, 2 samples)

加固前:System Call Overhead(71.7%下降)     2688394.9 lps   (10.0 s, 7 samples)

加固后:-------------------------------------     760775.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX

加固前:Dhrystone 2 using register variables         116700.0   29511633.9   2528.8

加固后:----------------------------------------- 116700.0   29573692.6   2534.2

加固前:Double-Precision Whetstone                       55.0       3672.8    667.8

加固后:------------------------------------------ 55.0       3665.2    666.4

加固前:Execl Throughput                                 43.0       4270.3    993.1

加固后:-------------------------------------  43.0       3986.8    927.2

加固前:File Copy 1024 bufsize 2000 maxblocks          3960.0     988749.2   2496.8

加固后:--------------------------------------------  3960.0     642355.5   1622.1

加固前:File Copy 256 bufsize 500 maxblocks            1655.0     262803.5   1587.9

加固后:-------------------------------------------- 1655.0     164420.2    993.5

加固前:File Copy 4096 bufsize 8000 maxblocks          5800.0    2936522.3   5063.0

加固后:--------------------------------------------- 5800.0    2081661.4   3589.1

加固前:Pipe Throughput                                12440.0    1792076.0   1440.6

加固后:------------------------------------ 12440.0      956265.1     768.7

加固前:Pipe-based Context Switching                   4000.0      36441.8     91.1

加固后:----------------------------------------- 4000.0      34194.4     85.5

加固前:Process Creation                                126.0        226.9     18.0

加固后:------------------------------------  126.0       7181.7    570.0

加固前:Shell Scripts (1 concurrent)                     42.4       7227.9   1704.7

加固后:---------------------------------------- 42.4       6700.3   1580.3

加固前:Shell Scripts (8 concurrent)                      6.0       3571.0   5951.6

加固后:----------------------------------------  6.0       3245.5   5409.2

加固前:System Call Overhead                          15000.0    2688394.9   1792.3

加固后:-------------------------------------- 15000.0     760775.0     507.2

========

加固前:System Benchmarks Index Score                                        1031.3

加固后:--------------------------------------------------------- 1032.7

------------------------------------------------------------------------

1.2 16个线程

------------------------------------------------------------------------

Benchmark Run: Wed Apr 10 2019 16:38:29 - 17:06:41

16 CPUs in system; running 16 parallel copies of tests

加固前:Dhrystone 2 using register variables      444397377.0 lps   (10.0 s, 7 samples)

加固后:--------------------------------------- 447987601.1 lps   (10.0 s, 7 samples)

加固前:Double-Precision Whetstone                    57708.6 MWIPS (9.9 s, 7 samples)

加固后:---------------------------------------- 57730.9 MWIPS (9.8 s, 7 samples)

加固前:Execl Throughput(4.8%下降)               46136.6 lps   (30.0 s, 2 samples)

加固后:--------------------------------------   43888.9 lps   (30.0 s, 2 samples)

加固前:File Copy 1024 bufsize 2000 maxblocks (5.1%下降) 631571.6 KBps  (30.0 s, 2 samples)

加固后:---------------------------------------------------- 598740.6 KBps  (30.0 s, 2 samples)

加固前:File Copy 256 bufsize 500 maxblocks(5.1%下降)   164229.8 KBps  (30.0 s, 2 samples)

加固后:--------------------------------------------------- 155765.0 KBps  (30.0 s, 2 samples)

加固前:File Copy 4096 bufsize 8000 maxblocks(3.6%下降) 1977958.5 KBps  (30.0 s, 2 samples)

加固后:---------------------------------------------------  1905713.2 KBps  (30.0 s, 2 samples)

加固前:Pipe Throughput(48.5%下降)           27556701.3 lps   (10.0 s, 7 samples)

加固后:------------------------------------- 14184212.7 lps   (10.0 s, 7 samples)

加固前:Pipe-based Context Switching(22.6%下降)      3201985.0 lps   (10.0 s, 7 samples)

加固后:-----------------------------------------------  2476089.9 lps   (10.0 s, 7 samples)

加固前:Process Creation(2.8%下降)                    58887.4 lps   (30.0 s, 2 samples)

加固后:------------------------------------------ 57202.3 lps   (30.0 s, 2 samples)

加固前:Shell Scripts (1 concurrent)(19.3%下降)          55909.7 lpm   (60.0 s, 2 samples)

加固后:----------------------------------------------- 45104.7 lpm   (60.0 s, 2 samples)

加固前:Shell Scripts (8 concurrent)(17.8%下降)                9172.0 lpm   (60.0 s, 2 samples)

加固后:--------------------------------------  7536.6 lpm   (60.0 s, 2 samples)

加固前:System Call Overhead(3.4%下降)    3863401.7 lps   (10.0 s, 7 samples)

加固后:------------------------------------  3731058.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX

加固前:Dhrystone 2 using register variables         116700.0  444397377.0  38080.3

加固后:----------------------------------------- 116700.0  447987601.1  38388.0

加固前:Double-Precision Whetstone                       55.0      57708.6  10492.5

加固后:------------------------------------------ 55.0      57730.9  10496.5

加固前:Execl Throughput                                 43.0      46136.6  10729.4

加固后:------------------------------------- 43.0      43888.9  10206.7

加固前:File Copy 1024 bufsize 2000 maxblocks          3960.0     631571.6   1594.9

加固后:-------------------------------------------- 3960.0     598740.6   1512.0

加固前:File Copy 256 bufsize 500 maxblocks            1655.0     164229.8    992.3

加固后:-------------------------------------------- 1655.0     155765.0    941.2

加固前:File Copy 4096 bufsize 8000 maxblocks          5800.0    1977958.5   3410.3

加固后:-------------------------------------------- 5800.0    1905713.2   3285.7

加固前:Pipe Throughput                               12440.0   27556701.3  22151.7

加固后:-----------------------------------  12440.0   14184212.7  11402.1

加固前:Pipe-based Context Switching                   4000.0    3201985.0   8005.0

加固后:----------------------------------------- 4000.0    2476089.9   6190.2

加固前:Process Creation                                 126.0      58887.4   4673.6

加固后:------------------------------------- 126.0      57202.3   4539.9

加固前:Shell Scripts (1 concurrent)                     42.4      55909.7  13186.3

加固后:---------------------------------------- 42.4      45104.7  10637.9

加固前:Shell Scripts (8 concurrent)                       6.0       9172.0  15286.6

加固后:----------------------------------------- 6.0       7536.6  12561.1

加固前:System Call Overhead                          15000.0    3863401.7   2575.6

加固后:-------------------------------------- 15000.0    3731058.8   2487.4

========

加固前:System Benchmarks Index Score                                        6810.4

加固后:--------------------------------------------------------- 5969.6

------------------------------------------------------------------------

二、 fio测试

结论:

  1. 读写测试性能几乎不受影响。

测试分为如下几类:

  fio <测试纬度> <bs> <iodep> <jobs> <rw>
# do bandwidth testsfio bandwidth 128k 128 1 readfio bandwidth 128k 128 1 write# do latency testfio latency 4k 1 1 readfio latency 4k 1 1 writefio latency 4k 1 1 randreadfio latency 4k 1 1 randwrite# do iops testsfio iops 4k 32 4 randreadfio iops 4k 32 4 randwritefio iops 4k 32 4 randrw

测试设置:

[global]

ioengine=libaio

bs=4k

iodepth=1

direct=1

time_based

directory=./

group_reporting

runtime=30

size=10g

fallocate=none

[tester]

rw=read

numjobs=1

测试命令:

sudo fio fio.config --append-terse --output=/sdk/jasonxing.xwl/fio_result.log

1.1 bandwidth read

加固前:read : io=14407MB, bw=491206KB/s, iops=3837, runt= 30033msec

加固后:read : io=14428MB, bw=491918KB/s, iops=3843, runt= 30033msec

1.2 bandwidth write

加固前:write: io=12011MB, bw=409239KB/s, iops=3197, runt= 30054msec

加固后:write: io=12417MB, bw=423306KB/s, iops=3307, runt= 30038msec

1.3 latency read

加固前:read : io=2139.5MB, bw=73024KB/s, iops=18256, runt= 30001msec

加固后:read : io=2135.4MB, bw=72888KB/s, iops=18221, runt= 30000msec

1.4 latency write

加固前:write: io=1884.2MB, bw=64313KB/s, iops=16078, runt= 30000msec

加固后:write: io=1886.4MB, bw=64374KB/s, iops=16093, runt= 30001msec

1.5 latency randread

加固前:read : io=873432KB, bw=29113KB/s, iops=7278, runt= 30001msec

加固后:read : io=871956KB, bw=29064KB/s, iops=7266, runt= 30001msec

1.6 latency randwrite

加固前:write: io=1868.4MB, bw=63771KB/s, iops=15942, runt= 30001msec

加固后:write: io=1883.3MB, bw=64278KB/s, iops=16069, runt= 30001msec

1.7 iops randread

加固前:read : io=6008.7MB, bw=205074KB/s, iops=51268, runt= 30003msec

加固后:read : io=6013.3MB, bw=205230KB/s, iops=51307, runt= 30003msec

1.8 iops randwrite

加固前:write: io=4775.6MB, bw=162967KB/s, iops=40741, runt= 30004msec

加固后:write: io=4761.9MB, bw=162514KB/s, iops=40628, runt= 30004msec

1.9 iops randrw

加固前:read : io=2646.3MB, bw=90314KB/s, iops=22578, runt= 30004msec

加固后:read : io=2641.5MB, bw=90139KB/s, iops=22534, runt= 30003msec

加固前:write: io=2636.6MB, bw=89986KB/s, iops=22496, runt= 30003msec

加固后:write: io=2633.2MB, bw=89870KB/s, iops=22467, runt= 30003msec

三、dd测试

结论:

  1. 读写测试性能几乎不受影响。

$dd bs=1M count=20000 if=/dev/zero of=test.dd conv=fdatasync

加固前:20971520000 bytes (21 GB) copied, 57.6266 s, 364 MB/s

加固后:20971520000 bytes (21 GB) copied, 58.8594 s, 356 MB/s

$dd bs=1M count=20000 if=/dev/zero of=test.dd.2 conv=fsync

加固前:20971520000 bytes (21 GB) copied, 58.179 s, 360 MB/s

加固后:20971520000 bytes (21 GB) copied, 58.815 s, 357 MB/s

$dd bs=1M count=20000 if=/dev/zero of=test.dd oflag=dsync

加固前:20971520000 bytes (21 GB) copied, 73.6669 s, 285 MB/s

加固后:20971520000 bytes (21 GB) copied, 73.5859 s, 285 MB/s

$dd bs=1M count=20000 if=/dev/zero of=test.dd.2 oflag=sync

加固前:20971520000 bytes (21 GB) copied, 75.5267 s, 278 MB/s

加固后:20971520000 bytes (21 GB) copied, 74.4605 s, 282 MB/s

3. UnixBench测试

结论:

  1. 影响项:File Copy,Pipe Throughput,System Call Overhead
  2. 非影响因素:是否sudo用户,是否sudo用户做benchmark限制,是否在系统层面(日志或者目录访问,提权,账户变更)做加固。

加固前后对比(仅1个线程):

------------------------------------------------------------------------

Benchmark Run: Tue Apr 09 2019 19:12:33 - 19:40:24

32 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       28994799.5 lps   (10.0 s, 7 samples)

-- 加固后:----------------------------- 28971632.2 lps   (10.0 s, 7 samples)

Double-Precision Whetstone                     2094.8 MWIPS (10.0 s, 7 samples)

-- 加固后:------------------------------ 2091.2 MWIPS (10.0 s, 7 samples)

Execl Throughput                               3330.4 lps   (30.0 s, 2 samples)

-- 加固后:------------------------- 3200 (30.0 s, 2 samples)

File Copy 1024 bufsize 2000 maxblocks        790834.6 KBps  (30.0 s, 2 samples)

-- 加固后:--------------------------------  651098.1 KBps  (30.0 s, 2 samples)

File Copy 256 bufsize 500 maxblocks          210153.4 KBps  (30.0 s, 2 samples)

-- 加固后:------------------------------- 172194.0 KBps  (30.0 s, 2 samples)

File Copy 4096 bufsize 8000 maxblocks       2455179.0 KBps  (30.0 s, 2 samples)

-- 加固后:-------------------------------- 1993955.9 KBps  (30.0 s, 2 samples)

Pipe Throughput                             1595619.4 lps   (10.0 s, 7 samples)

-- 加固后:----------------------- 1092480.9 lps   (10.0 s, 7 samples)

Pipe-based Context Switching                 115385.4 lps   (10.0 s, 7 samples)

-- 加固后:----------------------------- 107857.0 lps   (10.0 s, 7 samples)

Process Creation                               7973.0 lps   (30.0 s, 2 samples)

-- 加固后:------------------------- 7833.9 lps   (30.0 s, 2 samples)

Shell Scripts (1 concurrent)                   7320.2 lpm   (60.0 s, 2 samples)

-- 加固后:---------------------------- 7042.4 lpm   (60.0 s, 2 samples)

Shell Scripts (8 concurrent)                   3897.5 lpm   (60.0 s, 2 samples)

-- 加固后:---------------------------- 3717.4 lpm   (60.0 s, 2 samples)

System Call Overhead(62.4%下降)    2733357.9 lps   (10.0 s, 7 samples)

-- 加固后:--------------------------- 1026018.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX

Dhrystone 2 using register variables         116700.0   28994799.5   2484.6

-- 加固后:------------------------------ 116700.0   28971632.2   2482.6

Double-Precision Whetstone                       55.0       2094.8    380.9

-- 加固后:-------------------------------- 55.0       2091.2    380.2

Execl Throughput                                 43.0       3330.4    774.5

-- 加固后:--------------------------- 43.0       3200.8    744.4

File Copy 1024 bufsize 2000 maxblocks          3960.0     790834.6   1997.1

-- 加固后:---------------------------------- 3960.0     651098.1   1644.2

File Copy 256 bufsize 500 maxblocks            1655.0     210153.4   1269.8

-- 加固后:--------------------------------- 1655.0     172194.0   1040.4

File Copy 4096 bufsize 8000 maxblocks          5800.0    2455179.0   4233.1

-- 加固后:---------------------------------- 5800.0    1993955.9   3437.9

Pipe Throughput                               12440.0    1595619.4   1282.7

-- 加固后:------------------------- 12440.0    1092480.9    878.2

Pipe-based Context Switching                   4000.0     115385.4    288.5

-- 加固后:------------------------------- 4000.0     107857.0    269.6

Process Creation                                126.0       7973.0    632.8

-- 加固后:-------------------------- 126.0       7833.9    621.7

Shell Scripts (1 concurrent)                     42.4       7320.2   1726.5

-- 加固后:----------------------------- 42.4       7042.4   1660.9

Shell Scripts (8 concurrent)                      6.0       3897.5   6495.8

-- 加固后:------------------------------ 6.0       3717.4   6195.7

System Call Overhead                          15000.0    2733357.9   1822.2

-- 加固后:--------------------------- 15000.0    1026018.0    684.0

========

System Benchmarks Index Score                                        1353.0

-- 加固后:---------------------------------------------- 1128.9

------------------------------------------------------------------------

audit CIS加固性能对比相关推荐

  1. Android 第三方加固方案 对比

    常见的第三方加固方案官网介绍 由于安卓APP是基于Java的,所以极容易被破解,一个不经过加固的APP犹如裸奔一样,毫无防备.之前曾有新闻报道,一些专职的APP打包黑产就是专门从各种渠道找到apk,通 ...

  2. Android 第三方加固方案 对比 MD

    常见的第三方加固方案官网介绍 由于安卓APP是基于Java的,所以极容易被破解,一个不经过加固的APP犹如裸奔一样,毫无防备.之前曾有新闻报道,一些专职的APP打包黑产就是专门从各种渠道找到apk,通 ...

  3. Java常用消息队列原理介绍及性能对比

    消息队列使用场景 为什么会需要消息队列(MQ)? 解耦  在项目启动之初来预测将来项目会碰到什么需求,是极其困难的.消息系统在处理过程中间插入了一个隐含的.基于数据的接口层,两边的处理过程都要实现这一 ...

  4. golang连接postgresql too many client_MySQL和PostgreSQL压测性能对比

    阅读使人充实,讨论使人敏捷,写作使人精确. >>> 压测业务场景文章属于互联网社区动态类场景核心功能压测案例.至于题目涉及的MySQL和PostgreSQL之间的关系,主要为业务选型 ...

  5. php下curl与file_get_contents性能对比

    为什么80%的码农都做不了架构师?>>>    上一篇讲了 <php使用curl替代file_get_contents>, 后续贴出了curl和file_get_cont ...

  6. p40与p100训练性能对比

    深度学习训练,选择P100就对了 原文:https://yq.aliyun.com/articles/238764 摘要: 本文使用NVCaffe.MXNet.TensorFlow三个主流开源深度学习 ...

  7. php vs lua,解析LUA与PHP在WEB应用的性能对比

    解析LUA与PHP在WEB应用的性能对比是本文要介绍的内容,这几天用在WEB开发的LUA框架已经完成,框架中已包括数据库操作和模板操作的功能,能够很简单方便的应用在WEB开发上.在此时我对这个LUA框 ...

  8. Jetson Nano and VIM3硬件参数对比及目标检测性能对比

    文章目录: 1 Jetson Nano and VIM3硬件参数对比及目标检测性能对比 2 Jetson nano在yolov4目标检测性能 3 VIM在yolov3.yolov3-tiny.yolo ...

  9. MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比

    1.MyISAM:默认表类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.不 ...

最新文章

  1. 【Android View事件分发机制】原理
  2. 北京邮电大学计算机学院交换组,李静林-交换骨干教师-网络与交换技术国家重点实验室...
  3. 智能布线系统,“智”在何方
  4. php 获取301 302的真实地址
  5. 道友们,听说你们书荒啦?十几万本够吗?用python几步就可爬取
  6. 微软为 Java 开发者推出 VSCode 安装程序
  7. D. Powerful array 莫队算法或者说块状数组 其实都是有点优化的暴力
  8. 制作linux u盘启动,制作Linux的U盘启动盘
  9. 大数据技术原理与应用 第三版 林子雨 期末复习(一)大数据概述 第一章 P2
  10. Android开发--内容提供者(Content provider)
  11. RISC-V GCC工具链介绍
  12. 自动化缺陷检测系统---项目总览
  13. 如何启用计算机的休眠,win7休眠-win7如何启用休眠,我已经google过了,没用,请大家帮忙我? 爱问知识人...
  14. java项目获取系统信息
  15. C#:实现gnome sort 侏儒排序算法(附完整源码)
  16. 公众号如何向用户发送重要的服务通知?
  17. 批量重命名,文件夹重命名的五种方式分享
  18. 微信中域名网站域名被封锁、被屏蔽、被和谐后的解决方法
  19. codeforces 298B Sail
  20. 互联网启示:从生命起源到智慧宇宙的进化全景图

热门文章

  1. 求职简历模板(精选+免费)
  2. 数字信号处理——Chirp Z变换
  3. WEB主机没有正确返回“404”错误页面
  4. PhtoShop改变图片背景色
  5. 不够慷慨,也要芳香四溢
  6. 查看opencv版本(python)
  7. notepad++光标变成下划线,怎么变回来?
  8. 城市治理复杂性需要大数据
  9. 那些提升工作效率的软件!
  10. 自定义单张图片放大预览功能,可支持手势缩放,依赖jquery