首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以提高syslog性能?

是否可以提高syslog性能?
EN

Stack Overflow用户
提问于 2008-10-16 10:55:18
回答 7查看 18K关注 0票数 11

我们在Linux上有一个使用syslog机制的应用程序。在花了一周的时间试图找出这个应用程序运行速度比预期慢的原因后,我们发现,如果我们消除了syslog,只需直接写入日志文件,性能就会显著提高。

我理解为什么syslog比直接文件写入慢。但我想知道:有没有办法配置syslog来优化它的性能?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-10-16 11:12:39

您可以将syslogd (至少是rsyslog )配置为在出现日志消息后不同步日志文件,方法是在配置文件中的日志文件路径前添加一个"-“。这以日志消息可能在崩溃中丢失的危险为代价来提高性能。

票数 24
EN

Stack Overflow用户

发布于 2008-11-18 18:46:02

有几个选项可以提高syslog性能:

  • 使用宏优化输出调用

int syslog= LOG_UPTO(LOG_WARNING);#定义syslog(a,...)如果((a) & LogMask ) syslog((a),__VA_ARGS__) int main(int argc,char **argv) { LogMask = setlogmask(LOG_UPTO(LOG_WARNING));... }

使用宏来过滤syslog调用的一个优点是,整个调用被简化为全局变量上的条件跳转,如果您碰巧有调试调用正在通过其他functions.

  • setlogmask()转换大型数据集,这将非常有用

setlogmask(LOG_UPTO(LOG_LEVEL))

setlogmask()将通过不记录到/dev/log来优化调用,但程序仍然会调用syslog.conf中用作arguments.

  • filtering的函数

*.err /var/日志/消息

“查看details."

  • configure syslog的syslog.conf手册页以执行异步或缓冲日志记录

metalog用于缓冲日志输出,并将其按块刷新。据我所知,股票syslog和syslog-ng不能做到这一点。

票数 6
EN

Stack Overflow用户

发布于 2008-10-16 11:08:59

在开始编写新的守护进程之前,您可以检查syslog-ng是否比普通的旧syslog更快(或者可以配置为更快)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/208098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档