zoukankan      html  css  js  c++  java
  • linux audit审计(8)--开启audit对系统性能的影响

    我们使用测试性能的工具,unixbench,它有一下几项测试项目:

    Execl Throughput                每秒钟执行 execl 系统调用的次数
    Pipe Throughput                 一秒钟内一个进程向一个管道写 512 字节数据然后再读回的次数
    Pipe-based Context Switching    两个进程(每秒钟)通过一个管道交换一个不断增长的整数的次数
    Process Creation                每秒钟一个进程可以创建子进程然后收回子进程的次数(子进程一定立即退出)
    Shell Scripts (1 concurrent)    一秒钟一个进程可以并发地开始一个 shell 脚本的 1 个拷贝的次数
    Shell Scripts (8 concurrent)    一秒钟内一个进程可以并发地开始一个 shell 脚本的 8 个拷贝的次数
    System Call Overhead            进入和离开操作系统内核的代价

    测试结果类似如下:

    Benchmark Run: Wed Apr 18 2018 14:54:55 - 15:23:15
    16 CPUs in system; running 1 parallel copy of tests
    
    Dhrystone 2 using register variables       24249307.1 lps   (10.0 s, 7 samples)
    Double-Precision Whetstone                     2867.3 MWIPS (10.0 s, 7 samples)
    Execl Throughput                               2447.9 lps   (29.9 s, 2 samples)
    File Copy 1024 bufsize 2000 maxblocks        547726.0 KBps  (30.0 s, 2 samples)
    File Copy 256 bufsize 500 maxblocks          149186.7 KBps  (30.0 s, 2 samples)
    File Copy 4096 bufsize 8000 maxblocks       1297448.0 KBps  (30.0 s, 2 samples)
    Pipe Throughput                              946343.5 lps   (10.0 s, 7 samples)
    Pipe-based Context Switching                 186950.1 lps   (10.0 s, 7 samples)
    Process Creation                               7092.8 lps   (30.0 s, 2 samples)
    Shell Scripts (1 concurrent)                   5631.6 lpm   (60.0 s, 2 samples)
    Shell Scripts (8 concurrent)                   2726.4 lpm   (60.0 s, 2 samples)
    System Call Overhead                         905666.4 lps   (10.0 s, 7 samples)

    测试了/boot/grub2/grub.cfg 中audit=0,和去除audit=0,以及开启auditd服务等的性能数据:

    1、内核参数去掉audit=0,auditd服务默认不启动:这种情况性能没有太大变化;

    2、服务开启,auditctl -D删除所有可配置规则:这种情况Pipe Throughput下降近20%,System Call Overhead下降35%,其他下降%2-10%左右;

    3、删除所有规则,配置 -a never,task取消系统调用的审计:性能没有太大变化;

    4、配置-a never,task,配置audit目录访问,提权,账户变更等基本规则:性能变化不大;

    5、audit服务开启,配置pci-dss规则,没有取消系统调用审计:Pipe Throughput下降近30%,System Call Overhead下降近50%,Pipe-based Context Switching下降10%,其他下降%2-10%左右;

    从性能结果可以看到,开启内核参数,这个对性能影响不大,但是开启auditd服务后对性能影响就比较明显。

    这里需要注意的是,如果auditd服务开启后,再服务停止,auditctl –e 0,性能也没有上升,依然比较差,是因为在audit内核处理中,会判断是否曾经开启过即auditctl -s查询的enabled项,只要开启了,即使后面设置auditctl –e 0后,系统调用依然会走audit流程,这就会影响系统性能。具体代码在arch/x86/kernel/entry_64.S,copy_process()中 ,int audit_alloc函数。

    另外,如果配置 -a never,task后,所有的审计 type类型为SYSCALL的都不会记录了,一般情况下是要对系统调用进行审计的。

     

  • 相关阅读:
    XmlDocument 操作 xml
    流模型 操作 xml
    对DataTable进行分组
    xml文件,xml格式字符串 读写
    Jquery中的checkbox 及radio的问题
    简单爬虫获取网页图片
    页面JS实现按钮点击增加输入框
    Log4j配置文件解读和模板页收藏
    JS异步传递数组Action接受的实现与疑惑
    博客园美化手记——CSS Javascript Html
  • 原文地址:https://www.cnblogs.com/xingmuxin/p/8875783.html
Copyright © 2011-2022 走看看