Foxtable(狐表)用户栏目专家坐堂 → 关于服务器图片下载的效率问题


  共有2042人关注过本帖树形打印复制链接

主题:关于服务器图片下载的效率问题

帅哥哟,离线,有人找我吗?
gudao123456
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
关于服务器图片下载的效率问题  发帖心情 Post By:2019/5/31 1:10:00 [只看该作者]

数据表有个网址列,网址列是存放在钉钉服务器上的图片材料,现用下面代码进行下载,发现下载的速度比较慢,如何编码才能提高效率,谢谢!

For Each dr As DataRow In DataTables("审批通过汇总_2018").DataRows
    Dim path As String=projectpath & "\证明材料\" & dr("gzxx")
    
    If FileSys.DirectoryExists(path)=False  Then
        FileSys.CreateDirectory(path)
    End If
    Dim sfzz As New HttpClient(dr("sfztp "))
    sfzz.GetFile(path & " \" &  dr("xm") & "sfzz.JPG")
    Dim lqtzs As New HttpClient(dr("lqtzs"))
    lqtzs.GetFile(path & "\" & dr("xm") & "lqtzs.JPG")
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/31 10:16:00 [只看该作者]

那你试试异步函数

 

http://www.foxtable.com/mobilehelp/scr/3269.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
gudao123456
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2019/6/1 22:34:00 [只看该作者]

谢谢!用了异步函数后,感觉上没有卡顿的感觉了,但下载2118幅图片,共2.13G 共用了41分钟,不知这个速度是否正常

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/3 9:35:00 [只看该作者]

以下是引用gudao123456在2019/6/1 22:34:00的发言:
谢谢!用了异步函数后,感觉上没有卡顿的感觉了,但下载2118幅图片,共2.13G 共用了41分钟,不知这个速度是否正常

 

1、你是把整体代码放在一个函数只调用一次,还是说,你每一个图片下载启用一次函数?

 

2、也受网速的限制吧?你弄个测试网速的软件,看当前的下载速度如何。


 回到顶部
帅哥哟,离线,有人找我吗?
gudao123456
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2019/6/5 0:11:00 [只看该作者]

整体代码放在一个函数,只调用一次的。用360测试了下载速度,为6M左右

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107671 积分:547676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/5 10:01:00 [只看该作者]

下载速度应该是本机的吧,还要考虑到服务器的上传速度,以阿里云2M带宽云服来说,也就100多k的上传速度

如果是自己的服务器试试分批处理。比如把索引传入函数,第一次传入0~199,第二次传入200~399.每次调用异步函数就处理200个图片,11个线程同时下载

Functions.AsyncExecute("Task",0,199)
Functions.AsyncExecute("Task",200,399)
……

 回到顶部
帅哥哟,离线,有人找我吗?
gudao123456
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:855 积分:6402 威望:0 精华:0 注册:2017/11/21 21:31:00
  发帖心情 Post By:2019/6/7 12:05:00 [只看该作者]

我是从钉钉服务器下载的,谢谢!
[此贴子已经被作者于2019/6/7 12:05:34编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107671 积分:547676 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/6/8 10:25:00 [只看该作者]

那就很正常了

 回到顶部