Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用apache bench在url中指定查询字符串_Ruby On Rails_Apache_Thin_Apachebench - Fatal编程技术网

Ruby on rails 如何使用apache bench在url中指定查询字符串

Ruby on rails 如何使用apache bench在url中指定查询字符串,ruby-on-rails,apache,thin,apachebench,Ruby On Rails,Apache,Thin,Apachebench,我的rails应用程序运行在瘦服务器上,我想使用apachebench对其进行基准测试 我使用的命令是 ab -n 1 -c 1 http://localhost:3001/welcome/search?query="doctor"&rad=5 但精简服务器没有使用此url。它提供 !! Invalid Request 有谁能帮我给出url,让thin接受带有查询字符串的url吗?您的查询字符串编码不正确。删除双引号。如果需要的话,你需要像这样发送 ab -n 1 -c 1 http

我的rails应用程序运行在瘦服务器上,我想使用apachebench对其进行基准测试

我使用的命令是

ab -n 1 -c 1 http://localhost:3001/welcome/search?query="doctor"&rad=5
但精简服务器没有使用此url。它提供

!! Invalid Request

有谁能帮我给出url,让thin接受带有查询字符串的url吗?

您的查询字符串编码不正确。删除双引号。如果需要的话,你需要像这样发送

ab -n 1 -c 1 http://localhost:3001/welcome/search?query=%22doctor%22&rad=5

apache基准无法从url中解析“localhost”。将其更改为0.0.0.0或127.0.0.1,并引用整个url以避免与符号有关的问题。例如:

ab -n 1 -c 1 "http://0.0.0.0:3001/welcome/search?query=doctor&rad=5"

这对我不起作用,尽管这一行确实起作用:

ab -n 1 -c 1 -B 127.0.0.1 "http://localhost:3001/some/stuff"

小心外壳

是的,你是对的。我删除了双引号,所以无效的请求得到了解决。现在假设我的问题是,医学是被考虑的,但大学是不被考虑的,rad的值5不是被thin考虑的;我甚至尝试过替换&26它不起作用。&is interpredt作为shell参数。您可以将整个URL放在引号中,它将起作用:
ab-n1-c1“http://localhost:3001/welcome/search?query=%22doctor%22&rad=5“
显然,这不适用于ApacheBench2。我正在尝试以下操作:ab2-n8000-c100“”出现“无效URL”错误!正如前面指出的问题是符号,另一个答案(在url周围使用双引号)是有效的。太棒了!谢谢。