RoR:-在CDN中使用公共映像以提高生产性能



我已经实现了一个rails应用程序,并将其部署在azure Web服务器上。

我遇到的问题是,公共文件夹中的一些图像需要很长时间才能加载,因此网站性能非常低。其中一些图像小到20kb,加载大约需要13秒。

我的问题是,如果我将图像放在CDN(内容交付网络)的公共目录中,然后通过缓存加载,它会提供更好的性能还是不会影响整体性能。

是否也可以将rails应用程序的所有图像放入CDN中进行生产。

谢谢。

记住,CDN只是另一个Web服务器。当你使用CDN时,你所做的就是超级链接到另一个网络服务器上的资源。

<img src="http://www.quackit.com/pix/milford_sound/milford_sound_t.jpg" />

现在,它会加快你的应用程序的加载时间吗?大概影响这一点的因素有很多,即:

  1. 为什么你的应用程序加载缓慢?是你的关系吗?你在拨号吗?CDN对此无能为力
  2. 为什么你的azure服务器速度慢?车流量大吗?如果是这样,CDN会有所帮助
  3. 大多数大型生产应用程序可能对其所有静态资产(如图像、css和javascript)使用CDN。(他们可能拥有CDN,但它仍然是CDN。)所以,是的,你网站上的每个图像都可以存储在CDN中。(如果这些都是静态图像,那就很容易了。)然而,这样做的CDN通常不是免费的
  4. 你为什么选择将azure用于rails应用程序?这是可能的,但使用像Heroku或Engineyard这样的东西会容易得多。你甚至可以使用像Digital Ocean这样的VPS服务,并使用全国各地的VPS提供商建立自己的CDN小军队。(如果你像我一样是个吝啬鬼。)
  5. 生产rails应用程序中通常没有那么多位于/public中的图像。通常这些图像在资产/图像/。。。我唯一会公开的是一个小的前端网站,也许还有一些404/error页面

最新更新