日记一次程序调优发现的同步IO写的问题,切记

Posted 千里之行始于足下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日记一次程序调优发现的同步IO写的问题,切记相关的知识,希望对你有一定的参考价值。

      众所周知,我们在写程序的时候,好习惯是在重要的代码打上日志。以便监控程序运行的性能和记录可能发生的错误。

但是,如果日志是基于同步IO文件操作,那么就必须考虑到访问总次数或并发数目。

如果总次数或并发数目非常大,比如10W或者1K/s 或更多,那么就要注意IO的同步性能对程序速度的拖慢效应了。

这个时候,你就有必要用异步或NIO的日志类库来写日志了。



下面,是我一段扫描服务器的过期文件和清理转移到其他位置的部分代码。日志为IO同步写入。

下班前,测试一把,感觉速度总有点不对,后面发现是日志类库同步写IO(这里这个函数访问次数很多,密集运算)导致的问题。

记录下来,作为以后不要忘记。

 

注释同步IO日志代码前后,程序执行速度对比,分别如下

前后,程序运行速度有天壤之别

以上是关于日记一次程序调优发现的同步IO写的问题,切记的主要内容,如果未能解决你的问题,请参考以下文章

记一次 Laravel 应用性能调优经历

记录一次系统性能调优过程

记一次idea性能调优

一次简单的 JVM 调优,性能提升了15%

记一次线程池调优经历

记一次mysql大量插入数据,造成插入延迟,磁盘IO高的性能调优