轨道上的红宝石 - 为什么此请求需要 10 倍的时间



我正在尝试在我的MacOS和VPS上下文上上传Rails应用程序的操作。在我的 MacOS 上,我看到:

Completed 200 OK in 462ms (Views: 0.2ms | ActiveRecord: 19.4ms)

但是,在VPS上,我得到:

Completed 200 OK in 21762ms (Views: 0.1ms | ActiveRecord: 29.0ms)

Rails 操作只是用回形针保存一个文件,使用 rmagick 处理如下所示:

命令 :: 标识格式 '%wx%h,%[exif:orientation]' '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]'命令 :: 标识格式 %m '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]'命令 :: 标识格式 %m '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]'命令 :: 转换 '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]' -自动定向 -调整大小"100x" -裁剪"100x100+0+0" +重新分页 '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox120130127-3196-16s5ce0'命令 :: file -b --mime '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox120130127-3196-16s5ce0'命令 :: 标识格式 '%wx%h,%[exif:orientation]' '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]'命令 :: 标识格式 %m '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]'命令 :: 标识格式 %m '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]'命令 :: 转换 '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox1.png[0]' -自动定向 -调整大小"50x" -裁剪"50x38+0+6" +重新分页 '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox120130127-3196-1n2s0ck'命令 :: file -b --mime '/var/folder/dp/d61_ggqs0zvg9dcnybvfjgb40000gn/T/Bildschirmfoto 2013-01-27 um 16.39.0020130127-3196-8zjox120130127-3196-1n2s0ck'

这是怎么回事?

没有更多信息就不可能给出明确的答案,但是:

  1. 在本地测试上传操作时,传输文件所花费的时间将为 ~0。当您在实际服务器上尝试时,将花费一些时间传输数据(多少时间取决于您的互联网连接速度)。Chrome 中的开发者工具可以向您显示这需要多少时间。

  2. 我不知道您使用哪个提供商进行托管,但过去我发现与我的开发机器相比,S3(一方面)的性能非常缓慢。(不过,10 倍的差异相当极端。

  3. 您是否尝试过使用 ImageMagick 从命令行运行一些图像大小调整命令?(顺便说一句,我相信回形针使用shell命令调用ImageMagick,而不是通过RMagick。试试看,看看它是否看起来异常慢。

  4. 分析操作并确保问题不是由应用程序中的其他代码引起的。

  5. 如果问题确实似乎来自ImageMagick,请检查您在本地和VPS上安装的版本。

最新更新