我有一个带有 API 的 servlet,它可以从 GET 请求中传递图像。servlet 根据 GET 请求的参数创建 CAD 命令的数据文件。然后将该数据文件传送到图像解析器,该解析器在文件系统上创建图像。servlet 读取图像并在响应中返回字节。
所有的 IO 和图像解析程序的调用都非常繁重,大约 80kb 的图像在本地系统上的渲染时间为 3-4000 毫秒。
大约有 20 个参数构成 GET 请求。每个都与图像的不同部分相关。因此,可能的图像组合非常大。
为了减少加载时间,我计划将渲染图像的 BLOB 存储在数据库中。如果 GET 请求与之前执行的请求匹配,我将从缓存中提取。否则,我将渲染一个新的。这不会修复“第一次”运行,但会帮助“n+1 次运行”。
关于如何提高性能的任何其他想法?