一个使用1或2 Dynos的网站在www.Heroku.com上能够处理多少流量?增加 worker 能否改善这种情况?请提供关于 dynos/workers 的任何帮助。
这篇博客文章可能会对你有帮助。作者对Heroku可能遇到的瓶颈做了很好的分析,解释了增加dynos是如何帮助你的应用程序,同时提供了官方性能指南链接和信息以及一些工具来测试你自己的应用程序。
Worker的性能取决于网站的构建方式和你使用它们的目的。通过称为Delayed Jobs的后台处理(图像格式化、账户修剪等)来让它们发挥作用
编辑 // 2012年3月1日: 这里有另外一篇博客文章,探讨了在变量数量Dyno下 Heroku 的延迟和吞吐性能表现。
编辑 // 2013年2月28日: 在这篇文章中提出了一些关于Heroku随机路由算法以及在扩展Dynos时可能会导致指标错误报告的问题,尤其是由New Relic提供的指标。这仍然是一个持续存在的问题,并且需要考虑在之前的答案中。Heroku的反应链接在这篇文章中。
编辑 // 2013年5月8日: Shelly Cloud博客上的最新文章分析了dynos数量和所使用的Web服务器对应用程序性能的影响。那里使用的基准性能脚本在进行进一步测试时应该很有用。
一个好的测试方法是使用 Apache Bench 工具。你的电脑上可能已经安装了它。首先检查一下(Unix / OSX):
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。检查您的应用程序发送了什么“cache-control”头。