代码之家  ›  专栏  ›  技术社区  ›  shubhamagiwal92

图像上传和操作API为更高分辨率的图像花费更多时间

  •  0
  • shubhamagiwal92  · 技术社区  · 11 年前

    我正在跟踪的当前流量 形象 upload 和它的 manipulation 上 S3 bucket 如下所示:

    1. 图像上载到 S3 Bucket .
    2. 检索 S3铲斗 .
    3. 使用调整图像缓冲区的大小 gm 和 imagemagick npm模块。
    4. 在 S3铲斗 .

    作为 image size 增加了API response 时间这需要 3. 对于300 KB的图像,API在遵循上述工作流时给出响应的时间为30秒,对于15 MB或更多的图像,则为30秒。

    我不知道我的流程是否正确。我的要求是,在上传15 MB或更多的图像时,我需要减少API响应时间。有人能告诉我如何做到这一点吗?

    编辑

    为了清楚起见,我上传了一个15 MB的文件 Advanced Rest Client (一个chrome插件)到我的API。图像文件当前存在于我的本地系统中。我目前正在工作 jpg 和 png 图像。我想通过 降低宽高比 。我编写的API在遵循上述工作流的节点JS中。

    1 回复  |  直到 11 年前
        1
  •  0
  •   vmkcom    11 年前

    似乎从S3上传和下载大图像需要很多时间。

    您可以进行一些优化:

    • 尝试使用 graphicsmagick 包,在常见情况下,它比imagemagik(最新版本)更快
    • 之前进行调整大小/优化操作 上传到S3并在最后一步上传

    • 如果不可能,尝试使用Streams下载-调整大小-上传到S3。只需将请求流发送到gm模块并将管道写入AWS S3

    • 从Amazon EC2基础架构中进行图像优化 S3具有极高的网络性能