0

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

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

4

1 回答 1

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 等等(我可以写一本关于它的书)。

另一种方法可能更准确。使用 mechanize 之类的工具并创建一个线程应用程序,该应用程序在您的站点上执行您希望用户执行的操作并测量响应时间。由于您可以动态扩展 Digital Ocean 实例,因此您可以让它随着流量的增长而增长。

如果您还没有准备好使用的应用程序,只需在 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

并且您对性能有所了解。您也可以尝试其他服务器,例如 puma 等。祝您好运

于 2014-02-08T04:25:38.290 回答