2010-01-12 47 views

回答

2

最简单的可能是确保静态资产(图像,JavaScript和CSS,通常情况下)是很容易被缓存,和移动。我们使用了一个特殊的模板函数来完成这项工作,该模板函数采用相对URL(类似于/images/graphics/someimage.png),并将其转换为指向我们的静态服务器(http://static.example.com/images/graphics/someimage.png)的链接。

当你有一个这样做的功能,并使用它来生成所有静态资产URL时,稍后将这些资产移动到不同的服务器甚至基于地理位置的不同服务器上将是微不足道的。

1

你的意思内容分发网络(如Akamai的),当你说CDN?如果是这样,那么答案是“这取决于”。

这要看服务使用:每个服务都有不同的能力。 Akamai拥有完整的API,您可以使用各种有趣的东西。有些人只会在西海岸东部的&服务器上使用地理DNS技巧。有些介于两者之间。

这也取决于你要使用该服务的内容。只是图像托管?文件下载?流媒体内容?

0

您也可以缓存动态页面,这可能对性能带来巨大的效益,但要记住,你不能缓存在他们的个性化数据的任何页面。

例如假设您每小时更新一次新闻页面,您可以使用10分钟的TTL(生存时间)将其缓存在CDN上。这将加快页面时间并减少服务器负载。

但是,如果您有任何个性化的数据,例如“欢迎用户名”的旗帜,你可以不再缓存整个页面,因为它会成为错误的数据给游客。

一种技术来避免这种情况就是把个性化的数据在一个单独的页面片段在不同的文件夹,并通过AJAX加载它们,确保该文件夹不会被缓存。

相关问题