我在做弱网环境测试,我让Android手机连上了限制上传速度的无线网,上传图片(速度限制在10kb/s,图片大概450kb左右后),我发现每次把图片传出去都很快,但是等待后台返回特别慢(后台会返回一个图片id),经常会超时
后台只做了一个操作,就是把图片存起来,然后把存好的id返回给我
我想请问这个问题是应该由Android去解决还是后台解决?
我在做弱网环境测试,我让Android手机连上了限制上传速度的无线网,上传图片(速度限制在10kb/s,图片大概450kb左右后),我发现每次把图片传出去都很快,但是等待后台返回特别慢(后台会返回一个图片id),经常会超时
后台只做了一个操作,就是把图片存起来,然后把存好的id返回给我
我想请问这个问题是应该由Android去解决还是后台解决?
你应该做的是比对手机端点下发送的时间,和后台服务受到第一个上传数据的时间。这两个时间的间隔,就是上传的网络传输时间。更简单的办法是,直接测试后台接口,而不是通过手机。把可能出现问题的几个方面,服务端,手机应用,单独测试,然后综合分析。
速度限制在10kb/s,图片大概450kb左右后
算一下,传完图片要 45 秒哦
你确定 每次把图片传出去都很快
是真的快么?
如果后台返回 ID 在 45,46 秒的话,没毛病,就是要这么久才能收完数据。
我猜:
Android 上图片发送感觉是一下就发完了
因为限制了网速,系统底层在慢慢发,45秒 才发完
UI 上你感觉(其实是错觉)是一下发完了而已
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
可以看的出来你是做Android的,
我觉得这个可能两方面的事吧,猜想一,你这边没有上传完,猜想二,后台获取后,往数据库或者其他吃io的地方存储数据时候慢了,导致生成id慢了。因为一旦生成一个json就没多大,传输很快的。
这个还有一个比较好的解决方法就是:
用七牛或者其他存储的云。由Android端直接上传上去然后把上传的id返回给后端,这样的好处是你的图片用了cdn加载会比较快,而且还不用你管理图片,你只要知道图片的地址就好了