I have been visiting some sites hosted on GAE and I found them to be very slow. Pretty much all of them take longer than usual to load.
我一直在访问GAE上托管的一些网站,我发现它们非常慢。几乎所有这些都需要比平时更长的时间来加载。
Time: (in seconds) [ YSlow ]
时间:(以秒为单位)[YSlow]
9.9 giftag.com
3.1 hotskills.net
1.9 jeeyo.net
1.5 appspot.com
Is it that App Engine Cloud is too slow, Bigtable is too slow ... or what?
是App Engine Cloud太慢了,Bigtable太慢了......还是什么?
4 个解决方案
#1
You're using the YSlow plugin to measure this, and YSlow tells you why the site is slow (the cunning name is the clue). For example, in the case of gifttag.com, YSlow reports that:
您正在使用YSlow插件来衡量这一点,而YSlow告诉您网站为何缓慢(狡猾的名称是线索)。例如,在gifttag.com的情况下,YSlow报告:
This page has 9 external Javascript scripts. Try combining them into one. This page has 3 external stylesheets. Try combining them into one. This page has 13 external background images. Try combining them with CSS sprites.
此页面有9个外部Javascript脚本。尝试将它们合二为一。此页面有3个外部样式表。尝试将它们合二为一。此页面有13个外部背景图像。尝试将它们与CSS sprites结合使用。
So it's get an 'E' grade for that. That's going to kill the perceived load performance of the site.
所以它获得了'E'等级。这将会破坏网站的感知负载性能。
None of this has anything to do with appengine.
这些都与appengine无关。
#2
YSlow has nothing to do with the speed of the web app on the server side since it's a completely client side speed measurement (css, javascript, browser rendering, image loading, etc). But on the other side, I have heard that your application may be slow on App Engine if doesn't have much hits and traffic. This makes the App Engine not to cache the python runtime environment (have cold start), so this can make significant difference in performance of applications with low traffic.
YSlow与服务器端的Web应用程序的速度无关,因为它是完全客户端速度测量(css,javascript,浏览器渲染,图像加载等)。但另一方面,我听说如果没有太多的点击和流量,你的应用程序在App Engine上可能会很慢。这使得App Engine不会缓存python运行时环境(具有冷启动),因此这可以显着降低流量较低的应用程序的性能。
#4
GAE's data access is in the order of seconds compared to a database which is measured in milliseconds. The difference is that BigTable scales to the millions of concurrent access due to the inherent isolation level of Read Uncommitted and the relaxed consistency.
与以毫秒为单位测量的数据库相比,GAE的数据访问大约为秒。不同之处在于,由于Read Uncommitted的固有隔离级别和宽松的一致性,BigTable可扩展到数百万个并发访问。
No RDBMS can compute with that and still give consistency guarantees. To be honest, you don't really want to because for some applications you want strong guarantees over scalability.
没有RDBMS可以用它计算并仍然提供一致性保证。说实话,你真的不想,因为对于某些应用程序,你需要强大的可扩展性保证。
#1
You're using the YSlow plugin to measure this, and YSlow tells you why the site is slow (the cunning name is the clue). For example, in the case of gifttag.com, YSlow reports that:
您正在使用YSlow插件来衡量这一点,而YSlow告诉您网站为何缓慢(狡猾的名称是线索)。例如,在gifttag.com的情况下,YSlow报告:
This page has 9 external Javascript scripts. Try combining them into one. This page has 3 external stylesheets. Try combining them into one. This page has 13 external background images. Try combining them with CSS sprites.
此页面有9个外部Javascript脚本。尝试将它们合二为一。此页面有3个外部样式表。尝试将它们合二为一。此页面有13个外部背景图像。尝试将它们与CSS sprites结合使用。
So it's get an 'E' grade for that. That's going to kill the perceived load performance of the site.
所以它获得了'E'等级。这将会破坏网站的感知负载性能。
None of this has anything to do with appengine.
这些都与appengine无关。
#2
YSlow has nothing to do with the speed of the web app on the server side since it's a completely client side speed measurement (css, javascript, browser rendering, image loading, etc). But on the other side, I have heard that your application may be slow on App Engine if doesn't have much hits and traffic. This makes the App Engine not to cache the python runtime environment (have cold start), so this can make significant difference in performance of applications with low traffic.
YSlow与服务器端的Web应用程序的速度无关,因为它是完全客户端速度测量(css,javascript,浏览器渲染,图像加载等)。但另一方面,我听说如果没有太多的点击和流量,你的应用程序在App Engine上可能会很慢。这使得App Engine不会缓存python运行时环境(具有冷启动),因此这可以显着降低流量较低的应用程序的性能。
#3
Analysis: Google App Engine alluring, will be hard to escape
分析:谷歌App Engine诱人,难以逃脱
#4
GAE's data access is in the order of seconds compared to a database which is measured in milliseconds. The difference is that BigTable scales to the millions of concurrent access due to the inherent isolation level of Read Uncommitted and the relaxed consistency.
与以毫秒为单位测量的数据库相比,GAE的数据访问大约为秒。不同之处在于,由于Read Uncommitted的固有隔离级别和宽松的一致性,BigTable可扩展到数百万个并发访问。
No RDBMS can compute with that and still give consistency guarantees. To be honest, you don't really want to because for some applications you want strong guarantees over scalability.
没有RDBMS可以用它计算并仍然提供一致性保证。说实话,你真的不想,因为对于某些应用程序,你需要强大的可扩展性保证。