我正在使用Siege对我的应用程序进行一些基本的负载测试。我已经在本地尝试过,当我在localhost:3000
上运行我的webapp时,它运行得很好。
但是每当我尝试在我的生产环境(在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
和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