我已经创建了一个图像服务,可以为我提供各种大小和效果的图像。
下面是一个示例图片:
这不是一个特别快的服务,所以我想通过使用CDN来提高它的速度。这是同一张图片的CDN的url:
如您所见,URL具有决定大小和效果的查询字符串参数。
在CDN的设置中,我将Query string caching behavior设置为Cache every unique URL

在规则部分,我尝试了以下方法:

这个想法是缓存来自web应用程序的所有内容1分钟(这可能会改变),但是来自https://nfimageservice.azurewebsites.net/image/*的所有内容(查询字符串作为键的一部分)应该被缓存365天。毕竟,这就是图像的来源。
我试过多次加载页面,在重试之前等待了很长一段时间,从CDN中清除了所有图像,等等,但我仍然可以从azurewebsites获得比从azureedge更快的加载时间。我知道我一定做错了什么,但我无论如何也想不出是什么。
发布于 2020-03-26 18:09:35
事实上,当您访问您的网站时,使用CDN的速度比不使用CDN的速度要快得多。这主要取决于您所在位置访问CDN边缘服务器所在的网络环境或其他因素。查看有关How caching works的更多详细信息。
例如,如果您位于美国东部,POP位置在欧洲,而您的网站位于美国西部。通常,没有CDN直接访问您的网站的速度比使用CDN更快,因为美国西部离您的位置更近。此外,全球网络环境也无法控制。
作为一个简短的测试,我将该镜像URI添加到我的Azure CDN中,并且没有设置规则引擎。有CDN比没有CDN从我的位置直接访问要快。
使用CDN

不带CDN

https://stackoverflow.com/questions/60858057
复制相似问题