我有几个 Docker 容器不断写入日志。这会导致持续的磁盘 I/O,尤其是写入。
有没有办法让 Docker 读取/写入 ramdisk,从而偶尔通过一次连续写入“同步”到硬盘?
如果有更好的方法来解决这个问题,我们鼓励采用替代解决方案。
答案1
您可以将日志发送到 syslog,并让 syslog 缓冲日志流并异步发送到日志文件。
根据您的 syslog 守护程序,您可能需要明确打开日志文件的异步写入功能(例如,如果我没记错的话,SysV syslog 需要在文件名开头有一个“+”才能执行此操作)。在某些情况下(例如 syslog-ng),您可以指定在刷新缓冲区之前要缓冲多少行日志,这很好。