【发布时间】:2013-11-16 09:49:36
【问题描述】:
我有一个简单的应用程序,它通过 API 接收 POST 图像并通过 Carrierwave 将它们发送到 S3。我的 Photos 表也有一个 counter_cache。
80% 的时间我的事务时间很长,比如 60 秒或更多,其中超过 90% 的时间用于将图像上传到 S3 和更新 counter_cache。
有没有人知道为什么这个上传时间这么长以及为什么计数器缓存查询需要这么长时间?
刚刚在http://carrierwave-s3-upload-test.herokuapp.com上添加了一些照片
行为相似:
刚刚从我的代码中删除了counter_cache 并进行了更多上传......再次出现奇怪的行为。
编辑 1
上次批量上传的日志。 EXCON_DEBUG 设置为 True:https://gist.github.com/rafaelcgo/561f516a85823e30fbad
编辑 2
我的日志没有显示任何 EXCON 输出信息。所以我意识到我正在使用雾 1.3.1。更新到 Fog 1.19.0(使用更新版本的 excon gem),现在一切正常。
提示.. 如果您需要调试外部连接,请使用较新版本的 excon 并设置 env EXCON_DEBUG=true 以查看一些详细信息,如下所示:https://gist.github.com/geemus/8097874
编辑 3
伙计们,更新了gem fog,现在很甜蜜。不知道为什么老版本的fog和excon会有这种奇怪的表现。
【问题讨论】:
-
事件表中有多少行?
-
没那么多,我现在只有 10 张。而且我可能有 2k 张照片。
-
您上传到 S3 的图片大小是多少?
-
如果您能提供一个小示例应用程序来演示该行为,我们应该不难追踪。
-
感谢 Taavo 的关注,我今天晚上会尽力提供。
标签: heroku amazon-s3 carrierwave counter-cache excon