【发布时间】:2010-07-24 14:19:46
【问题描述】:
假设您正在为应用引擎创建一个 facebook 风格的应用。您将如何处理用户个人资料图片?
据我所知,您必须将图像存储在数据存储或 Blob 存储中。这意味着每次获取图片都需要通过动态处理程序并使用至少 20 毫秒的 cputime。
有没有一种有效的方法来做到这一点?或者这只是应用引擎目前无法处理的事情?
【问题讨论】:
-
每个请求使用 20 毫秒 CPU 时间是个大问题吗?这相当于每千个请求 0.0006 美元 - 千分之六美分。
-
@nick 假设您在他们拥有的每个状态更新旁边都放了一张他们照片的缩略图。然后在您看到朋友更新的主页上,您会看到 20 个不同的缩略图。这意味着每个页面视图都需要 20 次往返数据存储或内存缓存......而 20 毫秒的 cpu 时间是最好的情况,平均值会高得多(code.google.com/status/appengine/detail/datastore/2010/07/…)。每次页面查看 20 次数据存储往返似乎是不可行的......
-
第一次网页浏览需要 20 次往返 - 但您应该发送缓存标头,以便用户的浏览器缓存缩略图。如果您也使用 blobstore,则不需要数据存储往返。此外,与对服务器端的计费影响相比,您至少应该担心向每个页面添加 20 个额外图像对用户体验和延迟造成的影响。