图片上传后服务端压缩 or 客户端压缩后再上传

Foxkeh 29天前 17

背景:

服务端限制上传大小 2M,但手机拍照上传证件很容易就超了。
产品经理提出来要在服务端做压缩,我说服务器性能很弱而且很贵,服务器性能甚至连现在主流 2 个手机都比不上,建议在客户端做。
为了寻找数据支撑,搜了下 Geekbench 跑分,结果给我惊呆了,这服务器已经连现在连现在一个主流手机都赶不上了。

跑分

跑分 @Geekbench 单核 多核
本 ECS(双核 Xeon Gold 6149) 894 2032
iPhone X(A11-2017) 922 2088
小米 Mix2S(骁龙 845-2018) 518 2092
iPhone 12 Pro Max(A14-2020) 1206 4243
小米 11 Ultra(骁龙 888-2020) 1123 3700

大家的选择是上传后服务端压缩还是客户端压缩后再上传呢?

最新回复 (35)
  • neverfall 19天前
    引用 2
    根据需要上传
  • neverfall 19天前
    引用 3
    图片等多媒体服务 使用三方云服务,应该比自己的机器便宜,上传下载非常占用带宽
  • xmumiffy 19天前
    引用 4
    用户:我今天用你们 app 拍了几张照片,流量用了 1 个多 G,你有什么头绪么?
  • woshipanghu 19天前
    引用 5
    原图直接上传到 oss 上面 不走自己的服务器 不占用服务器的带宽
    然后用 oss 的自带的压缩参数展示图片
  • qiayue 19天前
    引用 6
    4#是最常用的做法
  • cmdOptionKana 19天前
    引用 7
    在客户端压缩,节约带宽,节约用户的流量等等都是优点,未见明显缺点。
  • misaka19000 19天前
    引用 8
    客户端传 OSS,不走服务端
  • JensenQian 19天前
    引用 9
    https://github.com/GoogleChromeLabs/squoosh
    要不这个试下
  • xxfye 19天前
    引用 10
    Geekbench 就是过来搞笑的,也就测测爆发性能,真的重负载大部分 arm 分分钟被 x86 教做 cpu
  • leonme 19天前
    引用 11
    @xxfye m1 打脸吗?
  • lagoon 19天前
    引用 12
    作为客户端开发,这种一般我们都是客户端压缩后上传。

    这年头的相机,一张照片动不动 3M,甚至更大。这么高清的照片传上去干嘛啊。
  • jdhao 19天前
    引用 13
    客户端压缩吧,省流量,并且压缩以后传输速度也快啊,别压缩的太离谱就行了
  • kokutou 19天前
    引用 14
    相机一张照片几 m 十几 m
    直接传???
  • lewinlan 19天前
    引用 15
    啊这,肯定客户端压缩啊,这还需要问吗
    免费的分布式计算都不用?
  • letitbesqzr 19天前
    引用 16
  • xxfye 19天前
    引用 17
    @leonme 不打脸。
    M1 作为桌面级 Soc,已经比那些手机上面的 Soc 好不少了,但重负载下还是不如 X86 。
    我队友试过用 M1 来跑 5000 张图像处理,不如 5800U 。
  • securityCoding 19天前
    引用 18
    服务端扛不住的,后台下发 token 直传 oss 吧
  • draguo 19天前
    引用 19
    不是相册类应用传原图干啥,存储不要钱吗,传输也慢
  • TingHaiJamiE 19天前
    引用 20
    @xmumiffy 这样的客户一般会先联系运营商客服,“你们流量数据有问题”。
  • leonme 19天前
    引用 21
    @xxfye 那 m1 剪辑视频比其他机器流畅很多怎么解释?这算重负载了吧
  • dqzcwxb 19天前
    引用 22
    移动端透传 oss
  • xxfye 19天前
    引用 23
    @leonme 剪视频的时候 CPU 根本没出力。
  • cubecube 19天前
    引用 24
    你为啥要用 gb 这种来比。。
    实际写两段代码压缩下 jpg 不就行了,另外图像处理,intel 有可能有神油,部分库可以使用 avx2
  • muzuiget 19天前
    引用 25
    肯定是客户端啊,免费的分布式计算,顺便省流量。
  • tzl 19天前
    引用 26
    gb 评价标准不一样吧
  • msaionyc 19天前
    引用 27
    @leonme 那是解码器的功劳
  • zeropercenthappy 19天前
    引用 28
    看需求。传证件照一般在客户端压。
  • leonme 19天前
    引用 29
    @msaionyc 恕我无知
  • leonme 19天前
    引用 30
    @xxfye 恕我无知
  • dingwen07 19天前
    引用 31
    问题根本就不是性能,压缩图片这事儿十年前的处理器都能做,关键在于传到服务器再压缩那服务器就得处理所有用户的压缩操作,而在客户端压缩每个客户端只需要处理自己的。
  • coreki 19天前
    引用 32
    我是客户端压缩一下,传到 cos
  • jiangzhuo 19天前
    引用 33
    服務器壓縮的話,客戶端手機流量不要錢嗎?服務器帶寬不要錢嗎?如果真的不在意錢,那當然是上更好配置的服務器咯。
  • yanzhiling2001 19天前
    引用 34
    现在什么几个亿像素,全都是插值插出来,没用。7 8 年前的诺基亚 1020 就这么搞的
  • jim9606 19天前
    引用 35
    Geekbench 就是个很迷惑的测试,极其偏向 Apple 。
    你自己写个 libjpeg 编码测试都要比 GB 靠谱。
    不过还是建议客户端压缩,原生相机 APP 直出几 MB 证件照片完全没必要。
  • gstqc 19天前
    引用 36
    大多数服务商都是下行流量不要钱而且比上行带宽要大
    所以带宽支出并不是一个问题

    不过还是建议客户端压缩,毕竟节省 CPU 资源而且给用户省流量
  • 游客
    37
返回