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

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

阅读 3.4k
3 个回答

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

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

那就做异步处理呗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题