各位大神好,因为项目遇到了困难,向大家求教!!!感谢
现在项目功能是:
试卷通过扫描仪扫描后,保存图片到本地---->
读取本地图片用opencv处理---->
处理完毕上传到阿里云
期间是一边扫描一边上传的。但是上传速度很慢。
比如扫描仪1分钟扫描保存了120张,oss上传才80张,还需要慢慢等待剩余40张上传。
而且项目机制是必须等这一批次处理完毕,才能接着扫描上传下一批图片。
(等待时间太长需要优化)
问题一:服务器带宽10M,图片大概200K左右,会是带宽不够的原因吗。
问题二:还有其他思路可以优化一下吗
感谢各位大神!!!
可以搞一个消息队列, 然后多个消费者上传,
最简单 就是把队列放在列表里面
你应该并行上传,提高上传并发
我个人觉得这个问题,不是从某一个方面就能提升的,需要多维度的调整;
1:客户端带宽
2:服务端带宽
3:客户端代码开启并行上传
4:压缩
5:后台任务,存放到某个固定文件夹内,应用程序每次重启都自动开启上传;
你如果扫描和上传是2个进程,那会浪费一次IO读,而你的硬盘在扫描期间一直处于IO写状态,如果多一次IO读比较浪费时间,优化思路是放在一个进程离,IO流在内存里,不要写进硬盘。或者异步的写硬盘快照,但是实际操作的是内存。然后10MB的带宽是上传速度吗?这个带宽也是有点小。
云服务器带宽限制的是下行带宽,上行带宽(比如上传文件)没有限制
– dudu 2年前@dudu: 感谢
– 团子大家族族长 2年前