如何预测rails项目系统的使用情况?

时间:2014-02-02 17:45:48

标签: ruby-on-rails ruby heroku digital-ocean

有没有办法计算运行我的rails应用程序的系统要求? (=每月费用)

我主要对Heroku或Digital Ocean感兴趣。

1 个答案:

答案 0 :(得分:1)

我会提出两种方法: 这里简单而不那么准确的方式: 1.在http://httpd.apache.org/docs/2.2/programs/ab.html下载Apache 2.在$ 5或免费试用的Digital Ocean Droplet上安装您的应用程序。 3.在像这个

动态生成的页面上使用估计的用户数量运行ab
    ab -n 10 -c 20 http://www.yourdigitaloceanserver.com/hugeerbfromdatabase

其中“n”代表您对“c”并发用户执行的请求数量(在本例中为20)。然后你拿出测试结果,看看你是否对速度感到满意。如果不是,你需要一个更大的服务器。

确定没有一定的规则,因为应用程序的性能取决于多种因素,例如并发性,独角兽作品(或其他Web服务器)的数量,数据库查询,缓存或不缓存,使用redis或memcached等等(我可以写一本关于它的书)。

另一种方式可能更准确。抓住像机械化这样的工具,并创建一个线程应用程序,它可以在您希望用户执行的站点上执行操作并测量响应时间。由于您可以动态扩展数字海洋实例,因此可以随着流量的增长而增长。

如果您还没有准备好的应用程序,只需在Droplet上安装Ruby on Rails并做一个简单的操作:

    rails new mytestapp
    cd mytestapp
    rails g scaffold things name 
    rake db:migrate
    rails c
    100.times do
       Thing.create!(name: "lorem ipsum")
    end
    exit
    rails s

现在从不同的shell或计算机运行:

    ab -n 10 -c 20 http://www.yourdigitaloceanserver.com:3000/things

您对性能有所了解。您也可以尝试不同的服务器,如美洲狮等。 祝你好运