H5W3
当前位置:H5W3 > 问答 > 正文

C# 同时向磁盘写多个日志文件代价大吗

我要跟踪设备的运行情况,所以我有很多日志信息要写到本地磁盘上,之前我是将其放到一个文件中的,但是随着设备越来越多,设备的标签信息就变得非常的冗余,现在我一个日志文件1.5G+,大部分都是重复的标签信息,打都打不开了,我只能写了个解析工具去解析展示,但是依然很慢,于是我就想要按照每个设备单独给他们写一个日志文件,这样就可以大幅度降低日志的大小,但是我记得之前学习计算机的时候好像说过,磁盘IO的读写代价是很大的,之前我写文件是用FileStrem以流的形式顺序读写的,那么现在如果我分成1000个文件来回写文件,磁盘的不停的来回寻址肯定会消耗额外的资源,我自己写了段测试代码进行了测试判断,发现确实写多个文件要比写一个文件慢很多,但是有的时候10倍的差距,有的时候2倍的差距,有的时候又差不多(估摸着是异步的问题)。。。有没有大佬帮忙分析下啊

回答

”每个设备单独给他们写一个日志文件“,这个方案也会随着时间文件会越来越大,
可以按每天一个文件这样写,比如每天按日期新建文件 ‘log_2021-01-08’ 这样所有设备一天的日志写入一个文件
如果日志很多,也可以按每小时一个文件

本文地址:H5W3 » C# 同时向磁盘写多个日志文件代价大吗

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址