DigitalPlatform / dp2

Integrated Library System / 图书馆集成系统
http://digitalplatform.github.io/dp2
Apache License 2.0
107 stars 54 forks source link

上传下载带宽测试计划 #1108

Open renyh opened 2 years ago

renyh commented 2 years ago

功能说明

2022/4/13 dp2circulation 正式版和 dp2installer 测试版、dp2libraryxe 测试版更新了。 最新版增加了上传和下载文件的带宽限制功能。 在 dp2libraryxe 和 dp2installer 菜单中增加了(dp2library)“全局参数”菜单命令,可以用如下字符串定义两类带宽限制参数: downloadBandwidth:200K,uploadBandwidth:100K 其中 downloadBandwidth 子参数定义了下载的总带宽限额;uploadBandwidth 子参数定义了上传的总带宽限制。所谓总带宽限制是针对 dp2library 所有实例的一个总的限制。缺省为 -1,表示不限制。

此全局参数,dp2installer标准版是放在注册表里,单机版是放在用户目录里。


带宽、网速、流量的关系 https://zhuanlan.zhihu.com/p/50401281

可在任务管理器查看网络上传和下载带宽。虚线是上传带宽,实线表示下载带宽。


测试能不能重现借还被卡住的情况

1)从cpu角度:让服务器端cpu占用率很高,检查前端借还是否受影响。可以用测试工作跑一下死循环任务让cpu占用率高起来。 2)从带宽角度:通过下载大文件,占用速度,检查前端借还是否受影响。

新版本当配置的上传下载速度限制后,即缓解了带宽占用,又让服务器CPU占用缓下来。程序内部通过沙漏算法,当超过带度时,会通过延迟来控制流量,这个延迟也让服务器中间休息一下,缓解cpu占用。 上传下载带宽限制是在服务器端控制的。

前端超时

前端不能控制服务器的传输带宽,前端在得不到返回数据时,通过超时机制,退出等待。 另外前端有可能由于不得及时得到服务器回复,又创建新的通道访问,这样也不会影响服务器,服务器端对前端有通道的限制。 如何定义前端的超时,目前内务前端超时10秒。通过测试摸索情况,给超时时间提出建议。

传输压缩与查看带宽

dp2接口数据传输时,对数据进行了gzip压缩。所以带宽是针对实际压缩后数据,不是原始数据,比原始数据小。如果用原始数据/时间算出来的速度,不太准备,看上去比较高。 看实际带宽可以在新版本的内务下载界面上观察。与任务管理器结合时来比对。

新内务前端即可以和旧服务器搭配测试,也可以和新服务器搭配测试,新服务器如果对上传下载的限额设置为-1就是和旧服务器一样的效果。

为什么要限制带宽

通常情况下,我们希望应用软件能尽量把云服务器配置的带宽用满,传输快。 但如果某一项功能占满了带宽,影响了其它功用的使用,则需要适当地限制一下带宽。所以这个限制和测试了解清楚情况是有必要的。

关于云服务器

针对几种类型的云服务器都要进行测试,先在测试云服务器上测试。 测试用轻量服务器的每月流量限制仅指下载的流量。需实际测试达到限额的流量,看看效果。

其它相关问题

1.下载中途电脑休眠,报时间戳的问题需测试重现,以便进一步解决。 内务上传文件过程中因为通讯中断然后重试继续时候,报错说时间戳不匹配的问题。

2.关于处理过程中出现的重试对话框,分为三种情况:1)是需人工手动确认重试;2)是自动跑的任务自动倒计时重试;3)是先内部自动重试几次+人工或手工界面提示重试。需确认同事检查报表过程中是哪种情况?


测试思路

在测试云服务器来测,在本地电脑不太好测,用dp2installer最新测试版,不设参数即表示不卡流量(同老服务器的效果)

  1. 首先不卡流量,下载大文件,在内务中观察下载带宽是多少?有没有占满服务器的带宽。
SZCND commented 2 years ago

测试目录

一、速度测试 1.1 不配置参数时上传、下载的速度预期与带宽差不多 1.2 下载配置了200k,预期最大下载速度不超过1.6Mbps 1.3 上传速度配置了200k,预期最大上传速度不超过1.6Mbps 1.4 同时配置了下载与上传速度限制,预期最大速度与配置的相同 1.5 配置上传、下载的速度限制,预期该服务器所有实例共享配置的速度

SZCND commented 2 years ago

测试用例1.1

测试目的

不配置参数时上传、下载的速度预期与带宽差不多

测试步骤

  1. 用远程桌面连接登录ucloud轻量服务器(带宽为5Mbps),下载dp2installer测试版最新版
  2. 配置一个实例,并上传一个大文件
  3. 退出远程桌面,因为开着也会占带宽,打开dp2内务,登录云服务器上的一个实例,点击菜单命令,功能/系统维护/系统管理窗,在内核/!/backup中下载一个大文件,会提示“正在下载/1/1!backupxxxxxxx”
  4. 打开任务管理器,选择性能/wi-Fi,可以观察到到“接收”,也就是云服务器最大的下载速度为7.6Mbps,7.6*1024/8=972kb/s,实际下载速度只有170kb/s
  5. 上传一个大文件,dp2内务显示为767kb/s,为6Mbps左右,超过了5Mbps的带宽

    测试结果

    20220426 20:28-wy dp2library正式版:3.114.8146.18397 dp2内务正式版:3.63.8146.18323 本地环境较差网络速度达不到5M。

20220424 22:28-wy dp2library正式版:3.114.8146.18397 dp2内务正式版:3.63.8146.18323 平均上传速度为940K bit/秒=940/1024 M=0.9M 网络速度没达到 平均下载速度为1.3M 网络速度没达到 测试环境不符合测试要求。本地网络环境较差

20220421 1217-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期


20220420 1630-WYC dp2library测试版:3.114.8143.24843 dp2内务正式版3.63.8139.38982 测试结果符合预期


20220419 1115-WYC dp2library测试版:3.114.8143.24843 dp2内务正式版3.63.8139.38982 测试结果不符合预期

SZCND commented 2 years ago

测试用例1.2

测试目的

在全局参数中配置downloadBandwidth:200K,预期最大下载速度不会超过这个值

  1. 在云服务器上打开dp2installer测试版,点击dp2library下方的全局参数,配置downloadBandwidth:200K,点击上方的工具,停止-启动windows service。退出远程桌面
  2. 下载一个大文件,平均速度为170k,没有超过200k

    测试结果

    20220426 20:32 -wydp2library正式版:3.114.8146.18397 dp2内务正式版:3.63.8146.18323 配置成downloadBandwidth:128K时,下载速度平均在765K bit/秒,及<128K*8=1M ,速度限制在128K的话,下载速度不会超出1M,符合预期

20220424 23:22-wy dp2library正式版:3.114.8146.18397 dp2内务正式版:3.63.8146.18323 配置成downloadBandwidth:50K时,下载速度平均在640K bit/秒,及>50K8=400K bit/秒,限速设置为50K较小的话,下载会超出带宽,不符合预期。 配置成downloadBandwidth:128K时,下载速度平均在805K bit/秒,及<128K8=1M ,速度限制在128K的话,下载速度不会超出1M,符合预期

20220421 1220-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期


20220419 1201-WYC dp2library测试版:3.114.8143.24843 dp2内务正式版3.63.8139.38982,测试结果符合预期

SZCND commented 2 years ago

测试用例1.3

测试目的

在全局参数中配置uploadBandwidth:200K,预期最大上载速度不会超过这个值

测试步骤

  1. 在云服务器上打开dp2installer测试版,点击dp2library下方的全局参数,配置uploadBandwidth:200K,点击上方的工具,停止-启动windows service。退出远程桌面
  2. 上传一个大文件,实际上传速度为248k左右,最大不超过250k

    测试结果

    20220426 20:40 -wydp2library正式版:3.114.8146.18397 dp2内务正式版:3.63.8146.18323 配置成uploadBandwidth:128K时,上传速度平均在645K bit/秒,及<128K*8=1M ,速度限制在128K的话,下载速度不会超出1M,符合预期

20220424 23:34-wy dp2library正式版:3.114.8146.18397 dp2内务正式版:3.63.8146.18323 配置成downloadBandwidth:50K时,上传速度平均在343K bit/秒,及<50K8=400K bit/秒,限速设置为50K较小的话,下载会超出带宽,符合预期

20220421 1220-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期


20220419 1215-WYC dp2library测试版:3.114.8143.24843 dp2内务正式版3.63.8139.38982,测试结果符合预期

SZCND commented 2 years ago

测试用例1.4

测试目的

服务器端配置上传限速100k,下载限速100k,预期在本地下载时上传、下载的速度与配置的相差不大

测试步骤

  1. 在云服务器上打开dp2installer测试版,点击dp2library下方的全局参数,配置downloadBandwidth:200K、uploadBandwidth:200K,点击上方的工具,停止-启动windows service。退出远程桌面
  2. 打开dp2内务,同时上传和下载文件,下载文件速度为88k,上传速度为117k,与配置的100k相差不大

    测试结果

    20220426 22:48-wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 当配置downloadBandwidth:128K、uploadBandwidth:128K 上传速度平均在660K bit/秒-符合预期 下载速度平均在676K bit/秒-符合预期


    20220424 23:35-wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 当配置downloadBandwidth:128K、uploadBandwidth:128K 上传速度平均在770K bit/秒-符合预期 下载速度平均在786K bit/秒-符合预期


20220421 1418-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期


20220419 1401-WYC dp2library测试版:3.114.8143.24843 dp2内务正式版3.63.8139.38982,测试结果符合预期

SZCND commented 2 years ago

测试用例1.5

测试目的

配置上传、下载的速度限制,预期该服务器所有实例共享配置的速度

测试步骤

  1. 在云服务器上新建一个实例,然后上传一个大文件
  2. 点击dp2library下方的全局参数,配置downloadBandwidth:200K、uploadBandwidth:200K,点击上方的工具,停止-启动windows service。退出远程桌面
  3. 开启2个dp2内务,下载一个文件,速度为71k,上传一个文件,速度为25k,总和为100k

    测试结果

    20220426 20:55-wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 当配置downloadBandwidth:128K、uploadBandwidth:128K 上传速度两个实例速度相差不大都保持在平均在300K bit/秒-符合预期 下载速度两个实例速度相差不大都保持在平均在395K bit/秒-符合预期


20220424 23:40-wy dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 测试结果符合预期 当配置downloadBandwidth:128K、uploadBandwidth:128K 上传速度两个实例速度相差不大都保持在平均在245K bit/秒-符合预期 下载速度两个实例速度相差不大都保持在平均在400K bit/秒-符合预期

20220421 1418-WYC dp2library正式版3.114.8146.18397 dp2内务正式版3.63.8146.18323 配置了128KB速度,两个实例平分,每台前端上传差不多为500Kbps,测试结果符合预期


20220419 1448-WYC dp2library测试版:3.114.8143.24843 dp2内务正式版3.63.8139.38982,测试结果符合预期