我正在使用 Siege 对我的应用程序进行一些基本的负载测试。我已经在本地尝试过了,当我在localhost:3000
.
但是,每当我尝试在我的生产环境(托管在 Heroku 上的 Rails 应用程序)上运行它时,它都不会产生任何结果 -
> siege -d2 -r3 -c2 -if urls.txt --header="Referer: /log_in"
** SIEGE 3.1.4
** Preparing 2 concurrent users for battle.
The server is now under siege...
done.
Transactions: 0 hits
Availability: 0.00 %
Elapsed time: 5.45 secs
Data transferred: 0.00 MB
Response time: 0.00 secs
Transaction rate: 0.00 trans/sec
Throughput: 0.00 MB/sec
Concurrency: 0.00
Successful transactions: 0
Failed transactions: 6
Longest transaction: 0.00
Shortest transaction: 0.00
LOG FILE: /usr/local/var/siege.log
You can disable this log file notification by editing
/Users/jeeves/.siege/siege.conf and changing 'show-logfile' to false.
如您所见,它获得了 0 次点击。我还可以在应用程序日志中确认没有请求到达服务器。
本地环境和托管环境之间的唯一区别是使用https://
SSL 以及它通过 DNS 和其他 Heroku 路由进行路由的事实。
日志文件也没有提供任何信息或错误。另一个 StackOverflow 帖子建议设置proxy-host
and proxy-port
,但我不太熟悉它们的作用以及它们与 Heroku 的关系。
作为旁注,我在.siegerc
配置文件中更改的唯一真实的事情是添加了一行以允许我的请求进行身份验证-
login-url = https://foo.example.co/auth/example/callback?email=jeeves%40example.co&password=blueSUN
谢谢!
编辑: - 这是我的整个攻城配置文件。它几乎是库存模板,唯一改变默认值的是login-url
上面提到的 - http://pastebin.com/JuA9MUG2