iwestlin / gd-utils

Google Drive 百宝箱
1.31k stars 424 forks source link

关于多任务并发 #201

Closed cyshallchan closed 2 years ago

cyshallchan commented 4 years ago

搜索之前的issue发现百宝箱多任务方面应该是并发的,但是我这边测试好像不是这样,在有一个任务进行中的时候发送第二个任务没有任何反应,当第一个任务完成后也不会执行第二个任务。

我用的是“无需域名和nginx版”,作者介绍说没有修改代码相关逻辑,所以应该不是这个原因...

希望作者可以解惑一下~

cyshallchan commented 4 years ago

额,现在情况变了,我复制一个200多T的目录的时候会没有任何反应...

09-05 at 22 57 12@2x
iwestlin commented 4 years ago

https://github.com/iwestlin/gd-utils/issues/187#issuecomment-680062524

任务之间是并发的,你可以找个小点的链接试试

对于文件数比较多的任务,程序需要先从数据库中读取所有文件数据,这一步比较吃性能,对于性能比较低的机器可能会耗时较久。读取完成后任务才会开始,然后才会给用户发消息。

cyshallchan commented 4 years ago

@iwestlin 这个吃性能应该会造成CPU负载变高吧,如果是的话我觉得可能不是这个原因,因为我这边查看进程负载很低很低... 09-06 at 09 47 18@2x

iwestlin commented 2 years ago

😅 我怎么才看到这条。。 这里吃性能指的是吃数据库的性能(主要影响因素是机器硬盘io),从sqlite中读取大量文件数据时可能会进行多次查询,这里的查询操作是(nodejs)同步的,所以会造成其它代码等待执行,进而产生卡顿的现象……