3

计划制作一个包含静态 html 内容的网站,我探索了在 Heroku 上使用 Rails 的替代方案,因为我不需要数据库或 Rails 提供的任何其他功能。我听说 Middleman 静态站点生成器可能会帮助我创建一个可以部署到 Heroku 的轻量级站点。

我用 Middleman 创建了一个测试站点,其中包含大约 6 个大部分为空的 html 内容页面(基本上每个页面上只有一个标题)。推送到 Heroku 后,我得到了这些 repo 和 slug 大小的统计信息

Repo size: 7.33 MB
Slug size: 8.3 MB of 200 MB

slug 大小大于 repo 大小。根据 Heroku 文档,slug 应该是“应用程序的压缩和预打包副本,已针对在测功机流形上的闪电般快速分布进行了优化。” 我猜蛞蝓大小应该小于回购大小。

为了比较,我查看了我的一个基本 Rails 应用程序的统计数据,我只是将它用作博客引擎(使用 Enki)。它目前有一个数据库和大约 50 篇博客文章。

Repo size: 17.2 MB
Slug size: 5.55 MB of 200 MB

因此,虽然 Rails 应用程序的 repo 大小要大得多,但 slug 的大小要小得多。

slug 大小是影响 Heroku 性能的唯一因素吗?如果是这样,即使我真的只打算发布一点静态内容,对我来说明显的选择是回到使用简单的 Rails 站点吗?

撇开蛞蝓大小不谈,您是否认为中间人站点可能仍然更快,因为它不使用数据库?因此不必进行查询来检索内容?对于中间人站点,我只是将内容直接写入 html 页面。我对网站真正关心的是让用户在内容页面之间快速移动。对于较小的 slug 大小的 Rails 应用程序,这将涉及数据库查询,而对于较大的 slug 大小的 Middleman 应用程序,它不会。

4

1 回答 1

6

slug 大小是影响 Heroku 性能的唯一因素吗?

slug 大小不会影响您的应用程序的性能。如果你的 slug 更小,你的部署会更快,但是一旦应用程序被部署,性能将只取决于它的代码和它使用的资源。

您提到了一个很好的例子:典型的 Rails 应用程序可能会对数据库进行多次查询,因此响应时间比典型的中间人应用程序要长,后者只是读取并返回 HTML。

于 2013-03-27T17:33:20.417 回答