我正在开发一种Web应用程序,并在不久前来到一个需要记录一些用户的活动中吧。因此,自然而然的问题是,使用Apache服务器日志记录机制是一个好主意吗?如果答案是肯定的,请解释为什么等等。我主要担心的是由于在Apache中启用日志记录而导致性能下降。另外,为了能够跟踪基于Web的应用程序中的客户端活动,建立日志记录机制的最佳实践是什么?登录基于web的应用
回答
正如MaxVT说,这是极不可能的,记录的开销将影响性能。 Web应用程序中网络延迟的开销通常远远大于单个磁盘写入,其可以在单个数字微秒范围内。
通常,基于Web的应用程序应该总是打开了某种形式的日志记录,并且基于mod_logger的日志在Apache中是一种非常便宜的方式。
Apache是简单的文本追加到一个日志文件 - 这是没有太大的性能损失。此外,您已经有很好的机会启用日志,因为这就是大多数安装在Web主机上的统计数据包的工作方式(不像基于Web的Google Analytics等)。
如果您有单个服务器,单独的日志文件将是我的选择。我喜欢将应用程序日志与Web服务器日志分开,因为这样更容易找到相关记录。
如果你有多个服务器,并希望有一个共同的日志,你可能要考虑的syslogd等。将日志数据从您的应用程序服务器发送到单个日志记录机器。
保持一个日志数据库也是可能的,但可能会导致数据库服务器上的负载显著,特别是如果你的应用程序已经依赖于缓存保持数据库负载低。
右Apache是简单的文本追加到日志文件,至于我这是开销,因为涉及到磁盘IO,并且对于大量用户而言,它可能会降低服务器的性能,不是吗? – 2009-06-18 07:32:00
虽然Apache的记录是非常性能便宜,你需要考虑日志的用途:
- 将用户能够看到“我的日志”?
- 基于日志需要“回滚”吗?
- 您记录的行为是否具有相关数据?
这些问题可能会导致您选择apache日志记录或基于DBMS的自定义日志记录。
使用自定义日志,你可以轻松地构建事务日志,可以帮助你从一个状态恢复你的整个系统到另一个尽可能多的点击。
JRH
- 1. 基于Web的基于Java登录
- 2. 基于PHP的应用程序/ Web登录框架?
- 3. 基于Eclipse的单点登录基于RCP的应用程序
- 4. 基于css的响应登录表单
- 5. Azure Web应用登录
- 6. 基于Web的登录使用SSL公钥/私钥?
- 7. 基于AOP的登录Guice
- 8. 用于Web应用程序的Sql Server用户登录
- 9. 基于无线通信从基于Web的应用基于桌面的应用
- 10. 基于登录状态
- 11. 如何使基于Qt的用户登录应用
- 12. 如何跟踪基于Web的登录和注销?
- 13. 基于UML的Web建模:模拟登录过程?
- 14. 是否可以创建基于Web的远程登录服务?
- 15. iphone应用程序与基于角色的登录?
- 16. 基于表单的登录,同时也应用REST原理
- 17. 用于Web应用程序的基于云的Web服务
- 18. 我的基于Sql的可视基本简单登录应用程序登录总是失败
- 19. 区分应用程序登录和Web登录Firebase
- 20. 登录Flex Web应用程序
- 21. Web应用程序登录系统
- 22. Web应用程序自动登录
- 23. log4net从Web应用程序登录
- 24. 单一登录为Web应用程序
- 25. 基于Web的Iphone/Android应用程序
- 26. 一个基于Web的应用程序
- 27. 基于Web的本地应用程序
- 28. 基于Web的聊天应用程序
- 29. C#基于登录信息的Cookie
- 30. 基于Django的视图登录
嗨@artem你是如何实现最终的日志记录机制..难道你把所有的日志数据库监视用户活动.. – 2013-03-27 19:39:57