springboot - 大文件后端处理慢,前端展示慢,优化方案?

 

问题描述:

目前一个项目,有展示图表功能,一条计算(有很多计算,结果跟初始设置参数相关)大概几千个case,每个case结果文件类似csv,大概300-500MB。
因为文件较多且较大,直接存OSS对象存储。
现在处理逻辑,根据前端参数,下载相应case文件,然后解析成json,返回前端进行展示。
但整个过程相当慢!
有啥好的优化方案?


 

第 1 个答案:

数据预处理,分片,压缩,缓存


 

第 2 个答案:

  1. 针对前端参数进行过滤:由于每个计算有很多 case,如果前端没有必要下载所有 case 的结果文件,可以考虑针对前端参数进行过滤,只下载需要的结果文件。这样可以减少下载的数据量,提高下载速度。
  2. 压缩结果文件:由于结果文件比较大,可以考虑对文件进行压缩,减少传输时间和存储空间。常见的压缩格式有 gzip 和 zip 等,可以根据实际情况选择合适的压缩格式。
  1. 使用缓存:对于频繁访问的结果文件,可以使用缓存技术,将文件缓存在本地或者 CDN 上,减少重复下载时间。
  2. 对解析过程进行优化:如果解析过程是瓶颈,可以考虑对解析过程进行优化。例如,可以使用流式解析,逐行解析结果文件,而不是一次性加载整个文件。另外,如果使用的是 JavaScript 解析库,可以考虑使用 Web Worker 进行解析,将解析过程放到另一个线程中,避免阻塞主线程。

 

第 3 个答案:

那就做异步处理呗


大佬们,可以发一下Vue Devtools安装 教程吗