Hi Steve, We ran the same performance test with auditd not started and events go to syslog. System can perform 15000 open/close system calls per second which is better than earlier results (3000 open/close system calls per sec) but still the impact is big (compared to 200000 open/close per sec without auditing) and not acceptable. Do you know the reason behind where kauditd spends time and how it can be improved?
Thanks & Regards, Logeswari. -----Original Message----- From: Steve Grubb [mailto:sgr...@redhat.com] Sent: Wednesday, January 28, 2015 8:46 PM To: linux-audit@redhat.com Cc: Viswanath, Logeswari P (MCOU OSTL) Subject: Re: Linux audit performance impact Hello, On Wednesday, January 28, 2015 02:57:58 PM Viswanath, Logeswari P wrote: > We want to know audit performance impact on RHEL and Suse linux to > help us evaluate linux audit as data source for our host based IDS. > When we ran our own performance test with a test audispd plugin, we > found if a system can perform 200000 open/close system calls per > second without auditing, system can perform only 3000 open/close > system calls auditing is enabled for open/close system call which is a > HUGE impact on the system performance. It would be great if anyone can help > us answering the following questions. > > > 1) Is this performance impact expected? If yes, what is the reason > behind it and can we fix it? I'll leave this for the kernel guys to answer. That said, I think more detailed information might be helpful. If auditd is not started and events go to syslog, does the performance change? To do this audit=1 on boot line and auditctl -R /etc/rules.d/your.rules what rules do you have loaded? What do you get when audit is enabled and no rules loaded? If you have other syscall rules loaded that are not open and openat or close, does the performance change? I suspect that if you trigger a rule, you are thrown onto the slow path. Open is perhaps the most lengthy because of multiple auxiliary records and path resolution. But we need data to tell. That said, I know that the kernel audit path changed a couple years ago so it might be worthwhile to test against an old kernel to see if the change has affected performance. -Steve > 2) Have anyone done any benchmarking for performance impact? If yes, > can you please share the numbers and also the steps/programs used the > run the same. > > 3) Help us validating the performance test we have done in our test > setup using the steps mentioned along with the results attached. > > Attached test program (loader.c) to invoke open and close system calls. > Attached idskerndsp is the audispd plugin program. > We used time command to determine how much time the system took to > complete > 50000 open/close system calls without (results attached > Without-auditing) and with auditing enabled on the system > (With-auditing-NOLOG-audispd-plugin > and With-auditing-RAW) > > System details: > > 1 CPU machine > > OS Version > RHEL 6.5 > > Kernel Version > uname -r > 2.6.32-431.el6.x86_64 > > Note: auditd was occupying 35% of CPU and was sleeping for most of the > time whereas kauditd was occupying 20% of the CPU. > > Thanks & Regards, > Logeswari. -- Linux-audit mailing list Linux-audit@redhat.com https://www.redhat.com/mailman/listinfo/linux-audit