Php 在基于移动的社交应用程序中记录消息的最佳方式
我正在开发社交应用程序的后端部分。客户端是iOS/Android手机。后端代码是一个向客户端提供RESTAPI的PHP应用程序 我使用的是一个简单的日志系统,有几个日志级别和不同的日志编写器。较简单的编写器是文件编写器。所有日志消息都会转到每天都会更改的日志文件中。至少到目前为止,日志文件不会用于分析目的。只需记录错误和用户的重要操作(主要是数据库访问) 我很担心,因为如果用户群快速增长,我认为写入文件是一种瓶颈,原因有二:Php 在基于移动的社交应用程序中记录消息的最佳方式,php,logging,concurrency,Php,Logging,Concurrency,我正在开发社交应用程序的后端部分。客户端是iOS/Android手机。后端代码是一个向客户端提供RESTAPI的PHP应用程序 我使用的是一个简单的日志系统,有几个日志级别和不同的日志编写器。较简单的编写器是文件编写器。所有日志消息都会转到每天都会更改的日志文件中。至少到目前为止,日志文件不会用于分析目的。只需记录错误和用户的重要操作(主要是数据库访问) 我很担心,因为如果用户群快速增长,我认为写入文件是一种瓶颈,原因有二: 磁盘写入开销 并行性 关于第二点,我有一个疑问。如果怀疑是愚蠢的,
- 磁盘写入开销
- 并行性
非常感谢,只要您在附加模式下打开文件,您就可以了。请注意,只要您想要持久性日志文件,它们就必须在某个时刻转到磁盘上的文件。使用DBMS毫无意义,因为它只是文件系统顶部的另一层。只要您没有在禁用缓存的情况下打开文件,操作系统就应该负责I/O调度和成批地写东西。感谢您的快速响应!还有一个简单的问题:每天只使用一个日志文件有意义吗?每个客户端一个日志文件是更好的方法吗?@jorges80:创建文件比附加到现有文件要昂贵,至少对于最常用的文件系统是如此;)如果您在linux上,并且可以控制系统,那么您还应该使用syslog查看设置,因为这样可以保持文件句柄为您打开,并执行文件轮换+删除旧日志文件。而且有些人似乎使用MongoDB对具有多个Web服务器的设置使用中央日志功能