【发布时间】:2015-07-23 08:21:06
【问题描述】:
我正在尝试寻找使用 PHP 记录访问的最佳方式。现在我每秒大约有 3000 个请求,每次访问都会写入 CSV 文件。我想知道以某种方式将每次访问记录在内存中然后在 100 000 条记录后将其转储到 CSV 文件是否更快?到目前为止,我已经检查了shmopapc 和memcache,但找不到合适的解决方案。
【问题讨论】:
标签: php logging nginx memcached apc
我正在尝试寻找使用 PHP 记录访问的最佳方式。现在我每秒大约有 3000 个请求,每次访问都会写入 CSV 文件。我想知道以某种方式将每次访问记录在内存中然后在 100 000 条记录后将其转储到 CSV 文件是否更快?到目前为止,我已经检查了shmopapc 和memcache,但找不到合适的解决方案。
【问题讨论】:
标签: php logging nginx memcached apc
最好的方法是使用 Lua 和共享内存来存储日志条目,然后创建一个计时器,它每 X 秒检查一次日志条目的大小,并使用 co-socket 将缓存转储到文件或 sql 数据库。应该都是非阻塞的。是的,您可以在将请求传递给 PHP 之前将请求传递给 Lua。 您还可以使用 nginx 默认日志文件缓存(缓冲区)并单独解析日志。
【讨论】: