首页 > app推广 > 正文

从Xinstall运行以来,目前已经累计为超过50000开发者从业人员以及企业提供了技术服务,涉及电子商务、新闻阅读、游戏、社交、金融、房地产等40余个行业App,尤其合作了一些千万级规模的大型企业后,Xinstall统计过的App安装量已经接近10亿+次,为企业介绍推广费用40%以上

万事开头难,起初Xinstall拓客步伐比较慢,客户量少。不少客户不知道Xinstall提供的传递智能参数以及渠道统计的服务。也对Xinstall渠道统计产生质疑,随着对客户的耐心解释以及一步步协助客户完成渠道统计SDK的对接,进行测试。经过实际数据测试后,客户才放心并且选择了Xinstall服务。

目前客户越来越多,责任越来越多,从最初的没人关注到现在慢慢有了我们的客户,这些客户是和Xinstall一起见证增长,也渐渐有了千万级以及亿级规模的知名企业客户,日均访问和统计量开始变得缓慢,Xinstall秉持着不忘初心服务号客户的宗旨去查找原因,优化性能服务好客户。

测试8v16g打包机拷贝速度

环境

一台裸Linux打包机 8v16g,型号:ecs.hfc6.2xlarge,不进行打包,仅进行拷贝测试,避免打包时的干扰。

磁盘本身性能说明

云盘的性能对比:

性能类别 ESSD云盘 ESSD云盘 ESSD云盘 ESSD云盘 SSD云盘
性能级别PL(Performance Level) PL3 PL2 PL1 PL0
单盘容量范围(GiB) 1261~32768 461~32768 20~32768 40~32768 20~32768
最大IOPS 1000000 100000 50000 10000 25000
最大吞吐量(MB/s) 4000 750 350 180 300
单盘IOPS性能计算公式 ② min{1800+50*容量, 1000000} min{1800+50*容量, 100000} min{1800+50*容量, 50000} min{ 1800+12*容量, 10000 } min{1800+30*容量, 25000}
单盘吞吐量性能计算公式(MB/s) ② min{120+0.5*容量, 4000} min{120+0.5*容量, 750} min{120+0.5*容量, 350} min{100+0.25*容量, 180} min{120+0.5*容量, 300}
数据可靠性 99.9999999% 99.9999999% 99.9999999% 99.9999999% 99.9999999%
单路随机写平均时延(ms),Block Size=4K 0.2 0.3~0.5 0.5~2 1~3 5~10

参考:阿里云官方块存储性能

以上指标是针对云盘本身的性能进行说明,抛开其他影响因素后,云盘本身所能发挥的最大性能指标。

ECS实例存储I/O性能对比:

实例规格 最大IOPS(万,4KiB I/O) 最大存储带宽(Gbit/s) 最大吞吐量(MB/s,1024KiB I/O)
ecs.hfc6.large 1.0 1.0 125
ecs.hfc6.xlarge 2.0 1.5 187.5
ecs.hfc6.2xlarge 2.5 2.0 250
ecs.hfc6.3xlarge 3.0 2.5 312.5
ecs.hfc6.4xlarge 4.0 3.0 375
ecs.hfc6.6xlarge 5.0 4.0 500
ecs.hfc6.8xlarge 6.0 5.0 625
ecs.hfc6.10xlarge 10.0 8.0 1000
ecs.hfc6.16xlarge 12.0 10.0 1250
ecs.hfc6.20xlarge 20.0 16.0 2000

参考:阿里云官方存储I/O性能

我们的打包机为 ecs.hfc6.2xlarge 型号,对应最大IOPS为2.5万,最大吞吐量为:250MB/s

这里有一个非常重要的计算公式,将会影响我们测试以及实际生产中所能发挥的性能:IOPS * I/O大小 = 吞吐量

我们的Linux打包机指标说明:

我们关心的指标主要是:【最大 IOPS】 和 【最大吞吐量】 这两个,这两个指标符合短板效应,即最大指标为:min{ESC最大值, 云盘最大值}。

从而我们可以计算出我们这台打包机的理论最大指标:

  • 系统盘 IOPS:min{25000, min{1800 + 50 * 500, 50000}} = 25000
  • 系统盘 吞吐量:min{250, min{120 + 0.5 * 500, 350}} = 250 MB/s
  • 外接磁盘 IOPS:min{25000, min{1800 + 50 * 1000, 50000}} = 25000
  • 外接磁盘 吞吐量:min{250, min{120 + 0.5 * 1000, 350}} = 250 MB/s

从上述计算可知,我们当前在这两个指标上虽能发挥的最大性能已经被 ECS 本身的实例所限制,所以理论上如果我们需要进一步突破,那么需要先升级 ECS 的配置,否则单单升级磁盘性能已经没有作用了。

测试验证性能指标

  • 测试方法:阿里云官方提供的测试方案(https://help.aliyun.com/document_detail/147897.htm?spm=a2c4g.11186623.0.0.20c67febPQWk5t#task-2363356)

拷贝速度测试准备工作

工作目录

主磁盘:/tmp/daiyi
外接磁盘:/mnt/tmp/daiyi

mkdir /mnt/tmp/
mkdir /mnt/tmp/daiyi

下载包

  • 下载小包:https://zpbeta.oss-cn-hangzhou-internal.aliyuncs.com/app-original-packages/20211013/uykmzs1jwjxed.ipa

    cd /tmp/daiyi
    curl https://zpbeta.oss-cn-hangzhou-internal.aliyuncs.com/app-original-packages/20211013/uykmzs1jwjxed.ipa -o small.ipa
    
    cd /mnt/tmp/daiyi
    curl https://zpbeta.oss-cn-hangzhou-internal.aliyuncs.com/app-original-packages/20211013/uykmzs1jwjxed.ipa -o small.ipa
    
  • 下载大包:https://zpbeta.oss-cn-hangzhou-internal.aliyuncs.com/app-original-packages/20211018/pdqw8vgr5ljxn.ipa(2.33GB)

    cd /tmp/daiyi
    ./ossutil64 cp -f oss://zpbeta/app-original-packages/20211018/pdqw8vgr5ljxn.ipa /tmp/daiyi/big.ipa --parallel 200
    
    cd /mnt/tmp/daiyi
    ./ossutil64 cp -f oss://zpbeta/app-original-packages/20211018/pdqw8vgr5ljxn.ipa /mnt/tmp/daiyi/big.ipa --parallel 200
    

解压原包

cd /tmp/daiyi
unzip -O CP936 small.ipa -d small
unzip -O CP936 big.ipa -d big

cd /mnt/tmp/daiyi
unzip -O CP936 small.ipa -d small
unzip -O CP936 big.ipa -d big

cp 命令测试

  • 小包速度测试

    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘
  • 大包速度测试

    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘

node.js 直接拷贝测试

  • 小包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘
  • 大包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘

node.js 调用 sh 拷贝测试

  • 小包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘
  • 大包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘

scp 传输测试

  • 小包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘
  • 大包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘

rsync 拷贝测试

  • 小包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘
  • 大包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘

先 cp 再 unzip 测试

  • 小包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘
  • 大包速度测试
    • 主磁盘 -> 主磁盘
    • 主磁盘 -> 外接磁盘
    • 外接磁盘 -> 外接磁盘
    • 外接磁盘 -> 主磁盘

OSS 下载传输测试

  • 小包速度测试
    • OSS -> 主磁盘
    • OSS -> 外接磁盘
  • 大包速度测试
    • OSS -> 主磁盘
    • OSS -> 外接磁盘

【结论】

  1. 各种方式对包的操作均与磁盘吞吐量有紧密关系
  2. 目前可以看到 8v16g(ecs.hfc6.2xlarge)在各种方式下拷贝大包基本稳定在 30s 左右,经过测试阶段人工观察(iotop 工具),磁盘吞吐量也是达到了 ECS 自身的吞吐量瓶颈。
  3. 为了进一步验证 ESC 吞吐量瓶颈是否跟随 ECS 型号提高,我们测试了下 ecs.hfc6.3xlarge 型号,发现速度大幅提升,吞吐量也是达到了该 ECS 自身的吞吐量瓶颈。所以目前如果需要提升拷贝文件的速度,则需要提升 ECS 自身的型号,从而提升吞吐量瓶颈
  4. 外接磁盘和主磁盘之间的文件操作不会受到两块云盘带来的影响(速度和 单一磁盘内部操作一致)

经过测试之后,Xinstall服务速度进行再次优化,对我支持我们的用户,我们绝不对降低服务质量,无论从哪个角度看,都有义务保证Xinstall服务的高质量

随着Xinstall客户量的增加,同时也是Xinstall成为客户严格要求的对象,我们感受到了越来越重的责任,也会对自己要求越来越严格。对客户负责

网站所收集到的公开内容均来自于互联网或用户投稿,并不代表本站认同其观点,也不对网站内容的真实性负责,如有侵权行为请及时联系删除!

猜你喜欢
文章评论已关闭!
picture loss