有人知道上下文切换吗?通过FSYNC和syslog ng从应用程序到磁盘的日志记录
Does anyone have knowledge on context switching - logging from app to disk via FSYNC vs syslog-ng
最近,我们的一位最资深的工程师问我关于使用syslog ng与将日志从应用程序写入磁盘的上下文切换的问题。
上下文:我想使用syslog ng来记录&将用C++编写的应用程序的输出发送到远程logserver主机上的logstash,然后将其全部放入elasticsearch&使用Kibana作为日志查看、分析和导出有用度量的前端ELK堆栈
我们目前使用4K或8K的FSYNC缓冲区,以一定间隔将日志吐出到磁盘上的日志文件中;也就是说,我们不会强制对每个日志条目进行磁盘写入。
像任何优秀的性能寻求工程师一样,他想了解我们是否会看到更大的上下文切换,或者我们是否可以通过利用syslog-ng来提高性能。
所以问题是:使用syslog ng会减少还是增加应用程序主机上的上下文切换。
我的专业知识让我来到这里,提出这个问题——因为我没有足够的知识来独自找到答案。
长期潜伏者,仍然是新的张贴。谢谢
这取决于您必须处理多少日志以及您愿意投入多少资源。
我们在Logstash中使用Kibana/Elastic搜索,负载确实很重,但我们有400多台服务器,所以YMMW。Java也不以对资源宽容著称。然而,从好的方面来说,设置起来相当容易。
分析Logstash中的日志可以用grok完成。抛出几个虚拟机并玩它,如果你有一个大型环境,必须对配置进行微调才能让它变得可以忍受,或者如果你有钱,你可以向它扔硬件,直到它正常工作。
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 有人知道上下文切换吗?通过FSYNC和syslog ng从应用程序到磁盘的日志记录