Heroku dynos / workers有多less性能?

一个拥有1或2个Dynos的网站可以在www.Heroku.com上处理多lessstream量,并且会增加员工的工作量 ? 任何对dynos / workers的帮助将不胜感激。

这个博客条目可能是有用的。 他做了很多关于heroku可以遇到的瓶颈的细分,以及如何增加dynos的帮助,并提供了关于heroku官方性能指南的链接和信息,以及一些工具,可以帮助你testing自己的应用程序。

工作人员的performance实际上取决于你的网站是如何构build的以及你使用的是什么。 后台处理(图像格式化,帐户修剪等)称为延迟工作是如何使他们的工作

编辑// 2012年3月1日: 这是另一个博客文章 ,探讨了可变数字Dynos的heroku延迟和吞吐量性能。

编辑// 2013年2月28日: 在这篇文章中 ,有一些关于Heroku的随机路由algorithm的问题,以及如何缩放Dynos,尤其是那些由New Relic提供的指标。 这仍然是一个持续的问题,在我之前的回答中应该注意。 Heroku的回复是在post内部链接的。

编辑// 2013年5月8日: Shelly云博客最近的一篇文章分析了应用程序性能所使用的dynos和web服务器数量的影响。 在那里使用的基线性能脚本在进行进一步的testing时应该是有用的

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

which ab 

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

一旦安装,尝试发送一些stream量到您的Heroku网站。

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

其中N是请求的总数,C是并发请求的数量。 Upping C似乎给了我最失败的答复。

请记住,Heroku实例在Varnish后面运行,因此您可能正在testingVarnishcaching,而不是Ruby。 检查你的应用正在发送什么“caching控制”标题。

我也build议安装New Relic附加组件。 它可以让你做基本的性能监测,并帮助识别瓶颈。

  • Rails检查数据库中是否存在logging
  • 在哪里以及如何指定_(下划线)variables?
  • RVM和rbenv如何工作?
  • 如何检查一个特定的密钥是否存在于一个散列或不是?
  • 如何从命令行执行没有Web服务器的ruby模板文件(ERB)?
  • 在rails中渲染json的最快方法是什么?
  • Ruby:Proc#调用vs yield
  • 如何将Ruby类名转换为下划线符号?
  • 在rails中简单的点击浏览页面
  • execJs:'找不到JavaScript运行时',但execjs和therubyracer在Gemfile中
  • Mysql ::错误:指定的键太长; 最大密钥长度是1000字节