【问题标题】:Google App Engine -- How fast is itGoogle App Engine——它有多快
【发布时间】:2009-06-26 06:39:21
【问题描述】:
我一直在访问一些托管在 GAE 上的网站,发现它们的速度非常慢。
几乎所有这些都需要比平时更长的时间来加载。
时间:(以秒为单位)[ YSlow ]
9.9 giftag.com
3.1 hotskills.net
1.9 jeeyo.net
1.5 appspot.com
是App Engine Cloud太慢,Bigtable太慢……还是什么?
【问题讨论】:
标签:
web-services
google-app-engine
hosting
【解决方案1】:
您正在使用 YSlow 插件来衡量这一点,YSlow 会告诉您网站速度慢的原因(狡猾的名字就是线索)。例如,对于gifttag.com,YSlow 报告说:
此页面有 9 个外部 Javascript
脚本。尝试将它们合二为一。
此页面有 3 个外部样式表。
尝试将它们合二为一。这一页
有13个外部背景图像。尝试
将它们与 CSS 精灵结合起来。
因此,它获得了“E”级。这会破坏网站的感知负载性能。
这些都与 appengine 无关。
【解决方案2】:
YSlow 与服务器端 Web 应用程序的速度无关,因为它完全是客户端速度测量(css、javascript、浏览器渲染、图像加载等)。但另一方面,我听说如果没有太多点击和流量,您的应用程序在 App Engine 上可能会很慢。这使得 App Engine 不会缓存 python 运行时环境(具有冷启动),因此这会对低流量应用程序的性能产生显着影响。
【解决方案4】:
与以毫秒为单位的数据库相比,GAE 的数据访问以秒为单位。不同之处在于,由于未提交读取的固有隔离级别和宽松的一致性,BigTable 可以扩展到数百万个并发访问。
没有任何 RDBMS 可以使用它进行计算并且仍然提供一致性保证。老实说,您并不是真的想要这样做,因为对于某些应用程序,您希望在可扩展性方面得到强有力的保证。
【讨论】:
-
不,gae 的数据访问顺序是tens of milliseconds。该图中的平均值为 60 毫秒,但这被夸大了,因为它测量了在客户端测量的整个 HTTP 请求持续时间。在服务器上测量的单个读取操作更像是 10-20 毫秒。这仍然肯定比 RDBMS 慢,但只有一个数量级(或更少),而不是三个。