【问题标题】:How to optimize Rails for one kiosk user?如何为一位 kiosk 用户优化 Rails?
【发布时间】:2018-11-03 23:29:11
【问题描述】:

我正在尝试使用 Rails 来支撑信息亭。这是一个终端,一次只有一个本地用户。

在这个系统下,像 Chrome 这样的浏览器可以访问 Rails 应用程序。

我认为会有帮助的事情:

  • 超快速、非常轻量级的 Rails 服务器(我使用的是 Puma)。
  • 消除用于互联网网站上下文(缓存、CDN、中间件等)的标准流程/假设。

最好在某种细节上,应该如何设置 Rails 应用程序以在单用户信息亭中获得最大性能?

【问题讨论】:

  • 您的信息亭资源受限吗?您的 CPU 或内存量是否非常低,或者它只是一台普通的旧 PC?
  • 这会有点资源限制。可能是像 Raspberry Pi 这样的小型计算机。
  • 嗯,我没有玩过较新的 Pi,但由于可用内存不足,较旧的 Pi 确实(对我而言)在 Rails 3/4 上苦苦挣扎。如果应用程序不太复杂,我会考虑将 Sinatra 作为轻量级替代方案,因为它会将您推向极简主义并让您手动包含所需的每个依赖项。

标签: ruby-on-rails ruby-on-rails-5 kiosk


【解决方案1】:

这听起来像是一个无法回答的问题,但我会采取的方法是在其默认(生产)配置中使用 Rails,并优化测试台中出现的性能问题。如果您有一台供单个用户使用的专用机器(通常您将有多个客户端连接到单个 Rails 实例),那么在生产模式下运行 Rails 可能会为您提供足够的性能。如果不测试应用程序,您可能会花费大量时间进行不影响用户体验的优化。

可能值得将 Rails 放在 Apache/nginx(Passenger 是在 Apache 上获取 Rails 应用程序的一种很好理解的方式)为您的静态资产提供服务,但从目前提供的信息来看,我如果在这个阶段需要进行性能优化,我会感到惊讶。

在此阶段可能值得考虑的一个挑战是如何将更改部署到您的信息亭/信息亭集。他们会被引入更新还是需要通过无线方式应用更改?这可能会影响您将其部署到机器上的方式,并且根据我的经验,以后更难更改。

【讨论】:

    猜你喜欢
    • 2018-06-14
    • 2012-02-26
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多