Ruby on rails 是否可以使用rake在Rails中模拟页面请求?
我一直在从事一个rails项目,这对我来说很不寻常,因为它不会使用MySQL数据库,而是使用mongoDB+Redis 该应用程序非常简单——从mongoDB到Redis的“启动”数据,之后PointRails将准备接收用户的请求,这些请求主要包括从Redis提取数据(我被告知这会非常快),进行快速计算并将部分数据发送回用户。 如果运气好的话,这种情况每秒会发生1500-4500次 在服务器上出现用户大军之前,我想知道是否有一种方法可以在内部“模拟”页面请求——比如运行一个rake任务,以每秒N次的速度执行该页面,或者类似的方式 如果没有,是否有办法测试该负载,然后对请求计时,以大致了解大多数用户将看到的延迟?警告 性能测试是一个非常广泛的主题,正确的工具通常取决于所需结果的类型和质量。作为您必须处理的问题的一个示例,考虑如果为特定的控制器动作编写基准规范,会发生什么,并连续调用该方法1000次。这可能对控制器方法的性能有一个很好的了解,但它可能会对相同的redis或mongo查询进行1000次,数据库驱动程序可能会缓存查询结果。这也忽略了web服务器响应和提供作为请求一部分的静态资产所需的时间(这可能没问题,特别是如果您对此有其他测试的话) 基本工具Ruby on rails 是否可以使用rake在Rails中模拟页面请求?,ruby-on-rails,performance,mongodb,heroku,redis,Ruby On Rails,Performance,Mongodb,Heroku,Redis,我一直在从事一个rails项目,这对我来说很不寻常,因为它不会使用MySQL数据库,而是使用mongoDB+Redis 该应用程序非常简单——从mongoDB到Redis的“启动”数据,之后PointRails将准备接收用户的请求,这些请求主要包括从Redis提取数据(我被告知这会非常快),进行快速计算并将部分数据发送回用户。 如果运气好的话,这种情况每秒会发生1500-4500次 在服务器上出现用户大军之前,我想知道是否有一种方法可以在内部“模拟”页面请求——比如运行一个rake任务,以每秒N
或ApacheBench,是一个简单的命令行工具,可用于测试应用程序的吞吐量和速度。当我想在一台web服务器上发送一千个请求,或者测试我的应用程序可以同时处理多少个请求时(例如,在比较mongrel、unicorn、thin和goliath时),我通常会先到这一步。因为所有请求都来自同一台服务器,所以这对于少量请求来说是好的,但是随着请求数量的增加,您将受到测试机上资源(网络堆栈、cpu,可能还有内存)的限制ab
- ,并且非常适合快速发布一些评测信息。它也可以与和一起使用。如果您想要一个rake任务来进行一些快速基准测试,这可能是开始的地方
-我喜欢使用它快速编写与页面交互的脚本。它处理cookie和表单,但默认情况下不会去抓取图像等资产。如果您正在进行自己的测试,它可能是一个很好的工具,但不应该是第一个使用它的工具mechanize
- 还有一些工具将模拟与站点交互的实际用户(他们将像浏览器一样下载资源,并且可以配置为模拟多个不同的用户)。最值得注意的是和。虽然仍处于开发阶段,但我目前正在努力使tsung更容易地自动化rails负载测试,如果您选择朝这个方向发展,我希望得到一些帮助:)