0

我正在开发社交应用程序的后端部分。客户端是 iOS/Android 手机。后端代码是一个向客户端提供 REST API 的 PHP 应用程序。

我正在使用一个简单的日志系统,具有多个日志级别和不同的日志编写器。更简单的编写器是 FileWriter。所有日志消息都转到每天更改的日志文件中。至少到目前为止,日志文件不会用于分析目的。只记录错误和用户的重要操作(主要是数据库访问)

我很担心,因为如果用户群快速增长,我认为写入文件是一种瓶颈,原因有两个:

  • 磁盘写入开销
  • ¿ 并发?

关于第二点,我有疑问。如果怀疑是愚蠢的,我很抱歉:我正在使用带有 Prefork MPM 的 Apache。至于使用不同进程处理不同客户端的请求,当两个进程尝试将消息记录到同一个文件时,不存在并发问题。操作系统(Ubuntu 11.10)处理这个问题。我对吗?

即使在那种情况下,当我不必担心并发写入文件时,这是一个好主意吗?是不是太慢了?

提前谢谢了

4

1 回答 1

0

只要您以附加模式打开文件就可以了。请注意,只要您想要持久的日志文件,它们就必须在某个时候转到磁盘上的文件。使用 DBMS 完全没有意义,因为它只是文件系统之上的另一层。只要您没有在禁用缓存的情况下打开文件,操作系统就应该处理 I/O 调度并成批写入内容。

于 2012-06-20T13:54:47.287 回答