你能从 Heroku dynos/workers 中获得多少性能?

Posted

技术标签:

【中文标题】你能从 Heroku dynos/workers 中获得多少性能?【英文标题】:How much performance do you get out a Heroku dynos/workers? 【发布时间】:2011-05-28 14:29:27 【问题描述】:

具有 1 或 2 个 Dynos 的站点可以在 www.Heroku.com 上处理多少流量,增加工作人员会改善这一点吗?对测功机/工人的任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

这个blog entry 可能有用。他对 heroku 可能遇到的瓶颈类型进行了详尽的分析,以及增加 dynos 如何提供帮助,并提供了到 official performance guide on heroku 的链接和信息以及一些可以帮助您测试自己的应用程序的工具。

Worker 的性能实际上取决于您的网站是如何构建的以及您使用它们的目的。称为Delayed Jobs 的后台处理(图像格式、帐户修剪等)是您使用它们的方式

编辑 // 2012 年 3 月 1 日: Here is another blog entry 探索了可变数量 Dynos 的 heroku 延迟和吞吐量性能。

编辑 // 2013 年 2 月 28 日: raised in this post 关于 Heroku 的随机路由算法以及在扩展 Dynos 时如何误报指标,特别是 New Relic 提供的指标,存在一些担忧。这仍然是一个持续存在的问题,在我之前的回答中需要注意。 Heroku 的回复链接在帖子中。

编辑 // 2013 年 5 月 8 日: A recent post on Shelly Cloud blog 分析使用的测功机和 Web 服务器的数量对应用程序性能的影响。在那里使用的Baseline performance script 应该对执行进一步的测试很有用。

【讨论】:

【参考方案2】:

测试它的一个好方法是使用 Apache Bench 工具。您可能已经在您的计算机上安装了它。先检查一下(unix / os x):

which ab

AB 文档和安装说明:http://httpd.apache.org/docs/2.0/programs/ab.html

安装后,尝试向您的 Heroku 网站发送一些流量。

ab -n 5000 -c 10 http://example.com/

其中 N 是要发出的请求总数,C 是允许的并发请求数。提高 C 似乎给了我最失败的回应。

请记住,Heroku 实例在 Varnish 之后运行,因此您可能正在测试 Varnish 缓存,而不是 Ruby。检查您的应用发送的“缓存控制”标头。

【讨论】:

【参考方案3】:

我还建议安装 New Relic Add-on。它可以让您进行基本的性能监控并帮助识别瓶颈。

【讨论】:

以上是关于你能从 Heroku dynos/workers 中获得多少性能?的主要内容,如果未能解决你的问题,请参考以下文章

discord.py 你能从 discord 标签中获取用户对象吗?

你能从 Django 的模板中检查互联网协议吗?

你能从 sklearn 网格搜索 (GridSearchCV) 中获得所有估计器吗?

Android 你能从链接的 startActivityForResult 中获取活动结果吗

你能从 OTM ROM 中提取 blob 吗?

你能从它的 ModelForm 中访问一个 Django 模型的“属性”吗?