RoR: - 在CDN中使用公共图像以获得更好的生产性能

时间:2014-10-08 04:41:39

标签: ruby-on-rails ruby ruby-on-rails-3 azure cdn

我已经实现了rails应用程序并将其部署在azure webserver上。

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

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

好吧,请记住,CDN只是另一个网络服务器。使用CDN时所做的就是超链接到其他网络服务器上的资源。

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

现在,它会加快您应用的加载时间吗?也许。影响这一点的因素有很多,即:

  1. 为什么你的应用加载速度慢?这是你的联系吗?你在拨号吗? CDN无法帮上忙。
  2. 为什么你的天蓝色服务器会变慢?有很多交通吗?如果是这样,CDN将提供帮助。
  3. 大多数大型制作应用程序可能会将CDN用于其所有静态资源,例如图像,CSS和JavaScript。 (他们可能拥有CDN,但仍然是CDN。)所以,是的,您站点中的每个图像都可以存储在CDN中。 (如果这些都是静态图像,则非常容易。)但是,执行此操作的CDN通常不是免费的。
  4. 为什么选择使用azure作为rails应用程序?这是可能的,但使用像Heroku或Engineyard这样的东西要容易得多。您甚至可以使用像Digital Ocean这样的VPS服务,并使用全国各地的VPS提供商建立自己的小型CDN。 (如果你是一个像我这样的小屁股。)
  5. 通常,位于/ public的生产rails应用程序中没有那么多图像。通常这些图像都在资产/图像/ ...中我唯一会公开的是一个小的前端站点,也许是一些404 /错误页面。