最近,我们最资深的工程师之一问我关于使用 syslog-ng 与将日志从我们的应用程序写入磁盘的上下文切换。
上下文:我想使用 syslog-ng 将我们用 C++ 编写的应用程序的输出记录并发送到远程日志服务器主机上的 logstash,然后将其全部推送到 elasticsearch 并使用 Kibana 作为日志查看、分析和派生的前端有用的指标。ELK 堆栈
我们目前使用 4K 或 8K 的 FSYNC 缓冲区,它会定期将日志输出到磁盘上的日志文件;也就是说,我们不会为每个日志条目强制写入磁盘。
像任何优秀的追求性能的工程师一样,他想了解我们是否会看到更大的上下文切换,或者我们是否可以通过利用 syslog-ng 来获得任何性能提升。
所以问题是:使用 syslog-ng 会减少还是增加该应用程序主机上的上下文切换。
我的专业知识让我在这里提出这个问题——因为我没有足够的知识来自己想出答案。
长期潜伏者,仍然是新发帖者。谢谢!