【问题标题】:ASP.NET, log file and database - need tipsASP.NET、日志文件和数据库——需要提示
【发布时间】:2011-08-02 00:32:27
【问题描述】:

我正计划开发一个可以读取日志文件并显示统计信息的应用程序。

我想,第一个问题是知道我是否需要数据库? 对数据库运行查询会更快吗?还是每次用户想要查看统计信息时读取文件?

如果我选择数据库方法,我将不得不定期(1 到 10 分钟)读取日志文件并更新数据库。 你觉得这篇文章还好吗(从 2005 年开始):http://www.codeproject.com/KB/aspnet/ASPNETService.aspx 还是开发 Windows 服务更好?在这种情况下,我可以在 Visual Studio 的 ASP.NET 项目中添加 Windows Serice,还是需要

【问题讨论】:

  • 您是否考虑过使用 splunk 或 simular (splunk.com/download/…) 之类的东西
  • Splunk 看起来不错。但如果我的原型运行良好,那么我正在考虑出售我的软件......

标签: c# asp.net database file


【解决方案1】:

你提到了ASP.NET,所以我相信它是一个网络应用程序。在这种情况下,我建议使用数据库,这是更强大、更灵活和分布式的解决方案。 任何方式都可以考虑使用log4net,然后您可以随时轻松地打开文件/数据库输出,只需在配置文件中添加另一个附加程序部分。

【讨论】:

  • 我无法控制生成的日志文件。并且日志文件一直在变化;可以每分钟数次。
【解决方案2】:

如果我选择数据库方法,我将不得不读取日志文件并 定期更新数据库(1 到 10 分钟)

没错,无论如何你都必须这样做。那时,数据库基本上只是成为另一个瓶颈。对于这种类型的应用程序,除了在用户请求查看文件时读取文件并即时向他们显示结果外,无需执行任何操作。

也不需要有 Windows 服务。我的意思是,我不知道您的所有详细信息,但我假设日志文件位于您机器上的目录中,因此只需访问、打开、解析并在用户选择查看时将其显示给用户它在前端。

【讨论】:

  • 是的,日志文件将在服务器上。但是日志文件经常变化。
  • 是的,没关系。这样,您将始终访问文件的最新版本。如果用户没有请求更改,则无需每 5 分钟跟踪一次更改。
【解决方案3】:

如果您要处理的唯一数据是 LOG 文件,则不需要任何数据库。

但我假设您的应用程序会解析日志文件,创建一些统计信息并将其存储在某处,以使用户可以返回并查看一段时间内的统计信息。如果任何时候您将再次“重新计算”该统计信息,这并不酷(此外,您可能会丢失原始日志文件直到那个时候)。

即使您也可以将其存储到某些文件中,我也不建议这样做。不要害怕使用数据库,不要太在意早期的应用程序性能。尽最大努力帮助您解决问题.. 至于我使用数据库将解决您的问题;

【讨论】:

  • 数据库的思想是复制日志文件;然后更轻松地运行查询...
  • 数据库的思想是复制日志文件;然后更轻松地运行查询......另外,如果日志文件增长到 10MB,我不确定 Web 应用程序将如何应对......
  • 这正是我所说的——你为什么要减去那个?
  • 您好,我没有“忽略”您的回复。或者,如果我这样做了,那也不是故意的。我不知道如何减去回复......对不起
猜你喜欢
  • 2016-07-05
  • 2013-01-20
  • 2017-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-13
相关资源
最近更新 更多