在基于移动的社交应用中记录消息的最佳方式

时间:2012-06-20 13:49:01

标签: php logging concurrency

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

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

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

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

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

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

非常感谢提前

1 个答案:

答案 0 :(得分:0)

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