调用WebApi返回stream性能问题

郑州高新区WPF小王子 2018-08-28 02:18:10
各位是这样的 :这边调用webApi接口方法返回文件流 ,文件的大小大概是150M左右。在客户端接收的使用httpClient的sendxxx方法,类似:
var bytes= httpClient.SendAsync(msg).Result.Content.ReadAsByteArrayAsync().Result;
使用Stopwatch 测得局域网内接收时间大概1.2秒左右 ,再使用FileStream进行保存到文件总共大概耗时2s多。
各位又什么建议能够减少总耗时时间到1秒左右。
...全文
628 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
大地主刘发财 2018-08-30
  • 打赏
  • 举报
回复
150M的东西要减少到1秒以内?不考虑存储消耗的时间的话,直接接光纤应该可以,加上存储的话就要考虑硬件了,那玩意没法靠编程提速的。
wanghui0380 2018-08-28
  • 打赏
  • 举报
回复
?150M 连存才2秒,你还觉着慢??

这样把,你用IE也好,迅雷也罢,你去下一个150M的文件,你看看迅雷要几秒
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
千兆网的文件传输速率是 100M字节/s
你传 150M 的文件只耗时 1.2s,显然已到达上限了
至于内存中的内容写入到硬盘,其速度取决与 硬盘的 DMA 速度,无法用编程方式改变

有道理!
  • 打赏
  • 举报
回复
外网150m的肯定要断点续传了吧
正怒月神 2018-08-28
  • 打赏
  • 举报
回复
大文件分块下载。
http://www.mamicode.com/info-detail-1279589.html
xuzuning 2018-08-28
  • 打赏
  • 举报
回复
千兆网的文件传输速率是 100M字节/s
你传 150M 的文件只耗时 1.2s,显然已到达上限了
至于内存中的内容写入到硬盘,其速度取决与 硬盘的 DMA 速度,无法用编程方式改变
  • 打赏
  • 举报
回复
引用 1 楼 starfd 的回复:
内网环境还折腾api上传干嘛,直接存到某个文件服务器上啊

如果放到外网上 有什么好的建议
  • 打赏
  • 举报
回复
内网环境还折腾api上传干嘛,直接存到某个文件服务器上啊

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧