当前位置: 代码迷 >> .NET分析设计 >> NET写的通讯服务器,数据量交互非常频繁,如果用log4net将日志写文件和显示的控件里了,如果显示的日志太多是不是就影响性能了
  详细解决方案

NET写的通讯服务器,数据量交互非常频繁,如果用log4net将日志写文件和显示的控件里了,如果显示的日志太多是不是就影响性能了

热度:380   发布时间:2016-05-01 22:32:16.0
NET写的通信服务器,数据量交互非常频繁,如果用log4net将日志写文件和显示的控件里了,如果显示的日志太多是不是就影响性能了?
NET写的通信服务器,数据量交互非常频繁,如果用log4net将日志写文件和显示的控件里了,如果显示的日志太多是不是就影响性能了?该怎么解决:
1.尽量不现实不必要的日志?
2.不用log4net用其他的?
3.如你用更好的写日志的方法一起分享一下,
谢谢
------解决思路----------------------
Log4Net 的性能非常好。

如果有性能问题,基本上是调用方法的问题。
------解决思路----------------------
你的log4net 通过 你的通信服务器 取数据吗?
如果不是,一般情况下是没问题的。
------解决思路----------------------
无论如何, 写文件/UI速度肯定赶不上后台的网络速度。
所以你必须精心挑选重要的信息。

最好j提供设定,可以选择要记录的信息。
------解决思路----------------------
先明确一下你的通讯量大和频繁程度
1.每秒参数多少条日志
2.每秒产生日志的字节数

明确数据后,用什么控件,会产生什么影响,你自己就可以知道了。
------解决思路----------------------
这个要评估一定范围内的写入量,频繁的io的确会有性能的分流,所以粒度划分重要,不要什么都写到日志中。
可以考虑nosql存储,比如STSDB;最后注意日志大小的分割。
------解决思路----------------------
只写有意义的日志吧,比如捕获异常的地方,方便找bug
------解决思路----------------------
写进数据库里面吧。写txt性能本来就不好
------解决思路----------------------
写有意义的日志
不要每个用户访问一次你的主页,你都把这个信息也写进日志里去,这样有什么意义,能从里面看出什么来
写日志你要明确写日志的目的
写日志是为了看,而不是为了写出一个超大的文件
------解决思路----------------------
很多信息可以记录到数据库的某个表里,这样也方便你事后查询筛选
而日志里记录一些比较重要的信息,和不便于记录到数据库里的信息
比如某个时刻写入数据库异常了,这个异常信息要写数据库就有点扯淡了,数据库都异常了还能写进去吗,这就只能写日志了