这个问题主要是磁盘io与网络io不同,磁盘顺序读写单个文件最快,并发读写会涉及到多个文件的切换问题,反而花了更多的时间,所以异步编程使用aiofiles要谨慎。
也大致的想了一下如果解决这个问题的办法,可以考虑把文件读写任务抽离出来,放到队列里面,然后用专门的线程或进程去按顺序去处理,这样就可以实现异步处理并且速度也快
这个问题主要是磁盘io与网络io不同,磁盘顺序读写单个文件最快,并发读写会涉及到多个文件的切换问题,反而花了更多的时间,所以异步编程使用aiofiles要谨慎。
也大致的想了一下如果解决这个问题的办法,可以考虑把文件读写任务抽离出来,放到队列里面,然后用专门的线程或进程去按顺序去处理,这样就可以实现异步处理并且速度也快