近期我们一直在测试这个多线程并发上传的小功能模块的集成,这里顺便把对OSS并发上传的速度/速率的测试结果分享一下,说的不对的地方,请大家批评指正一下!(测试描述的速度为大B单位)
以下测试过程,采用的工具是我们“OSS客户端”的大文件分块上传模块,本功能模块在开发过程中,多个问题得到阿里云工程师的技术支持,这里表示非常感谢!
(1)内网测试,分别采用杭州和青岛两个节点的ECS,通过内网连接上传测试;
(2)外网测试,则在天津联通百M光纤专线环境下测试,但是该光纤有部分业务,所以最大峰值我只能用到10M左右;
总体感觉青岛节点的性能比杭州的要好不少,但是鉴于测试所在地的网络情况和时间点繁忙情况,测试结果仅供大家参考。
据了解OSS是没有限制并发数(这个从外网可以看出来),但是内网几乎无法超越30M,是因为内网看到的G网口是虚拟机之间共享的,很多用户共用,所以很容易有波动 ;
另外阿里云OSS工程师建议,开发者在对OSS开发的工具中最大上传并发最好小于20M的峰值,这样才能减少对其它用户的影响;
测试结果如下表所示:
测试截图如下:
1、杭州OSS外网的5个线程上传:(速度如360那个小圈所示,网络应用在1%)
2、杭州OSS外网的10个线程上传:(速度如360那个小圈所示,网络应用在2%)
3、杭州OSS外网的15个线程上传:(速度如360那个小圈所示,网络应用在3%)
4、杭州OSS外网的20个线程上传:(速度如360那个小圈所示,网络应用在5%)
——————————————————————————————————————————————————————
5、青岛OSS外网的5个线程上传:(速度如360那个小圈所示,网络应用在2%)
6、青岛OSS外网的10个线程上传: (速度如360那个小圈所示,网络应用在5%)
7、青岛OSS外网的15个线程上传: (速度如360那个小圈所示,网络应用在8%)
8、青岛OSS外网的20个线程上传:(带宽跑满了,测试已经不准了)
同时发现,在线程为15或20的时候,测试所用的PC由于性能较低,CPU已经跑满了,并非程序占用CPU资源,而是该PC的内网带宽都不足,挤占了CPU资源。
——————————————————————————————————————————————————————————————————
9、杭州OSS内网的5个线程和15个线程上传的对比; (下图的两段曲线分别是5个线程和15个线程分别上传时的速率曲线,大家可以发现曲线差不多,所以线程数增加并不能提高上传速度,所以内网只需要5个线程足够了——或许在内网业务不繁忙的时候,这个速度还可以上升)
10、青岛OSS内网的5个线程和15个线程上传的对比; (下图的两段曲线分别是5个线程和15个线程分别上传时的速率曲线,大家可以发现曲线差不多,所以线程数增加并不能提高上传速度,所以内网只需要5个线程足够了——或许在内网业务不繁忙的时候,这个速度还可以上升)
————————————————————————————————————————————————————————————————————
以上测试,仅供大家参考!
网络带宽条件不同、测试时间不同、测试手法不同……,均会引起测试结果不一样,请大家理解!
谢谢!
顺便广告一下,我们开发的大文件分块上传功能,可以理想的支持单文件几十G的稳定上传!
-------------------------
-------------------------
你的demo使用c#写的么?分块上传的API调用代码能分享一下么?非常感谢了!
-------------------------
-------------------------
-------------------------
-------------------------
顶上去~~~
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。