|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2016/9/3 11:59:13 |
标题: |
更新程序使用人数太多,造成下载速度缓慢的问题 |
浏览:1688 |
|
加入我的收藏 |
楼主: |
服务器提供更新下载服务时,几百个客户端同时下载,带宽有可能不够,下载变得很慢,是遇到业务急的时候,更新要等半天,会被客户骂死,大家是怎么处理的。
下载的文件大小一般为4到6m,服务器带宽是4M,http下载方式
----------------------------------------------
- |
作者: |
|
2016/9/3 12:37:43 |
1楼: |
情况一,服务线程太多至处理出现亘相阻扰。用随机码或IP码,把更新时间分开一点。 情况二,服务器负荷问题。可尝试使用RAMDISK,或租借网上存放空间。
----------------------------------------------
-
|
作者: |
a5824 (Return) |
★☆☆☆☆ |
-
|
普通会员 |
|
2016/9/3 12:46:18 |
2楼: |
打包压缩,BPL,脚本化!
----------------------------------------------
-
|
作者: |
lsuper (lsuper) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2016/9/3 13:05:55 |
3楼: |
1、楼上说的那些,整体的方案优化,还有开启服务器 HTTP 压缩等 2、都几百人并发了还 “服务器带宽是 4M”?搞 CDN or 明确要求百兆带宽 ~
----------------------------------------------
-
|
作者: |
|
2016/9/3 13:28:32 |
4楼: |
用BT来做更新
----------------------------------------------
|
作者: |
|
2016/9/3 13:50:06 |
5楼: |
用BT来做更新最好
----------------------------------------------
|
作者: |
yxsoft (yxsoft) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2016/9/3 14:44:52 |
6楼: |
从来不支持自动更新,要更新自己下载
----------------------------------------------
Great!
|
作者: |
|
2016/9/3 15:12:50 |
7楼: |
应该按模块功能用dll 分开吧, 这么大当然慢了。 dll 不是很复杂的话 200K 左右呀。
----------------------------------------------
-
|
作者: |
|
2016/9/3 19:15:59 |
8楼: |
手动更新?如果有几年不更新,突然更新到最新版,数据库差了上百个字段,肯定不能用了的
----------------------------------------------
-
|
作者: |
|
2016/9/3 22:56:28 |
9楼: |
4~6M 4Mbit线,如果真的上传足额,一小时也是三百个客户端。但4Mbit线通常只是下载,上载的可能不足1Mbit。那三百个客户端用上五小时,已经算是全力了。用随机码或IP码,把更新时间分开255份,在更新检查时加上0至255分钟延迟(或长时间后)。用云端是方法,云端在需要时最少总量可达1000Mbit。问题是以后都被服务商绑架了。
----------------------------------------------
-
|
作者: |
chro (chro) |
★☆☆☆☆ |
-
|
普通会员 |
|
2016/9/3 23:36:31 |
10楼: |
搞下载最便宜简单的方式是用阿里云的对象存储oss(当然其它云也有类似东西),也就是把升级包上传到阿里的服务器,客户端去那里下载。
你这情况估计一年百十块钱(按每月下载量50G算)就够了,oss按流量计费,不用你操心带宽,程序不用改。
----------------------------------------------
-
|
作者: |
|
2016/9/3 23:50:57 |
11楼: |
不管用什么方法 单出口下载,都吃力 几百个客户端,几M的容量,总量差不多要下载几个G,4M带宽肯定不行 带宽大,多点下载 任务分散,估计可以实时 另外把文件分成小块,只更新变化部分也可以
----------------------------------------------
-
|
作者: |
|
2016/9/4 3:33:28 |
12楼: |
你买的是什么家的服务,多少钱,多少空间?说出来,这样大家才能给你提供有效的服务商信息。
----------------------------------------------
只有偏执狂才能生存!
|
作者: |
|
2016/9/4 8:30:22 |
13楼: |
在局域网内设置一台代理,先由代理下载,局域网内电脑都从代理下载,这样减少网络流量。
----------------------------------------------
Delphi爱好者。
|
作者: |
|
2016/9/4 11:34:14 |
14楼: |
买的阿里云服务器,4m的独享带宽,改成bpl和dll工作量太大了,不太合适的。让客户去别你地方下载更新,那对于客户使用来说,他们操作的更慢了,仍然没解决用户体验这个问题
----------------------------------------------
-
|
作者: |
|
2016/9/4 11:45:49 |
15楼: |
或者说有没有推荐的百兆独享的空间? 专门用来做下载。价格不要太昂贵
----------------------------------------------
-
|
作者: |
|
2016/9/4 11:47:37 |
15楼: |
不如限制同时下载的人数(台数),比都下载不了要好。
----------------------------------------------
-
|
作者: |
chro (chro) |
★☆☆☆☆ |
-
|
普通会员 |
|
2016/9/4 12:33:27 |
16楼: |
楼主是要让用户自己去下载文件? 百兆空间有,按量付费的话价格很便宜;只是文件下载就用oss,对用户来说就是一个下载链接而已,和平时的操作没有任何区别,价格便宜的要命。 楼主可能没理解oss是啥吧?
----------------------------------------------
-
|
作者: |
|
2016/10/1 0:53:40 |
17楼: |
这个情况无非是单点瓶颈,做成负载均衡. 主服务器下载的文件是更新文件的url就行了,简单就是轮训分配url地址.
----------------------------------------------
|
|