【问题标题】:Heroku request from mobile phone来自手机的 Heroku 请求
【发布时间】:2011-01-19 17:52:55
【问题描述】:

我正在开发一个 iPhone 应用程序,该应用程序将与 Heroku 上托管的 rails 应用程序进行通信。我想知道我应该如何调整服务器的大小(多少 dynos、workers 和什么类型的数据库)

据我了解,工作人员一次可以执行 i 个操作(例如:在数据库中执行选择),而测功机可以同时处理 10 到 100 个请求。

如果手机连接低,请求可能需要很长时间,这将如何影响我的服务器?

我猜请求越长,并发请求就越多,所以它需要更多的 dyno ? 但这应该不会影响所需的工人数量吧?

那么标准数据库呢,除了 5Mo 限制之外,对于 10 到 100 个同时请求来说是不是太慢了? (每个表演都很简单 在少于 5Mo 的数据库上选择?)

谢谢, 文森特

【问题讨论】:

    标签: mobile heroku


    【解决方案1】:

    重要的是要记住单个测功机是单线程的,因此如果您的响应时间(在此处使用 New Relic)是 200 毫秒,那么您(理论上)能够使用单个测功机每秒处理 5 个请求。增加 dynos 不会提高性能,它会增加吞吐量——从这个角度来看,我们最近需要在广告之后快速扩展应用程序,最终在大约 45 个 dynos 上运行(可能过度杀伤),并且每分钟处理大约 5600 个请求,因此大约 100 个请求一秒钟。还要记住,如果一个 dyno 一直在使用(长时间运行的请求、上传等),那么如果您没有额外的 dyno 来处理,那么请求将被排队,并且该队列最终将在 30 秒后超时。

    我们正在使用 20Gb 的数据库,并且看到了令人印象深刻的数据库响应时间数据,当然该网站也使用 Memcached 层来保持它的快速性。

    希望对你有帮助,

    约翰。

    【讨论】:

    • 感谢您提供非常有用的信息。如果我明白你的意思,如果很多人从他们的移动导航器和低连接访问你的应用程序,那么他们会阻止所有其他用户?
    • 我认为可以安全地假设,如果测功机仍在为缓慢加载的客户端提供内容,那么它基本上很忙。有一些“自动缩放”宝石可以即时增加/减少 dyno 计数,以应对可能值得探索的积压。
    猜你喜欢
    • 2013-02-21
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多