首页 新闻 会员 周边 捐助

大文件上传出错, Heartbeat took longer than "00:00:01" at "03/02/2020 06:11:50 +00:00".

0
悬赏园豆:50 [已解决问题] 解决于 2020-03-23 13:09

在使用大文件分段上传的时候,每个段分成2M,后段代保存代码,
using (var stream = new FileStream(_hostingEnvironment.WebRootPath + videoFileName, FileMode.Create))
{
await formFile.CopyToAsync(stream);
}

当有几个用户上传的时候会报错:
warn: Microsoft.AspNetCore.Server.Kestrel[22] Heartbeat took longer than "00:00:01" at "03/02/2020 06:11:50 +00:00".
然后系统就开始卡了,请问一下这是什么原因?莫非是线程池用完了吗?

冰封的心的主页 冰封的心 | 初学一级 | 园豆:178
提问于:2020-03-02 23:53
< >
分享
最佳答案
0

同时打开的线程数太多了,分块上传,每个块4M,同时几个用户在上传大文件的时候会出现这种情况。

冰封的心 | 初学一级 |园豆:178 | 2020-03-23 13:07
其他回答(2)
0

有没有在同步方法中调用异步方法?上面的代码没有问题,建议提供更多代码

收获园豆:30
dudu | 园豆:30948 (高人七级) | 2020-03-03 09:45

没有呀。全是异步的

支持(0) 反对(0) 冰封的心 | 园豆:178 (初学一级) | 2020-03-03 13:01
0

搜了下,说 Heartbeat took 是心跳, 大概意思就是 心跳反射时间 长于1秒. 可能就是长了以后反复发确认之类的.
建议做好硬盘缓存, 每个文件块标明位置, 直接写硬盘文件对应位置上.

收获园豆:20
风中的雪糕 | 园豆:418 (菜鸟二级) | 2020-03-03 13:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册