几周前,我将 MacBook Pro 13" 升级到了 Lion。我刚刚发现 Apache Bench (apache2.2.19) 无法正常工作。无论如何,它总是显示此错误:
apr_socket_recv:对端重置连接(54)
我也在我的 Mac Mini 上进行了全新安装,但出现了同样的错误。
我怎样才能解决这个问题?
答案1
答案2
这是由于与 Lion 捆绑在一起的 Apache 软件中的一个错误造成的。较新版本的 Apache(测试版)修复了这个问题。要修复 ab,请按以下步骤操作:
下载最新版本的 Apache
$ wget http://apache.mirrors.pair.com//httpd/httpd-2.3.16-beta.tar.bz2
如果 2.3.16 不可用,请转到http://apache.mirrors.pair.com/httpd并获取最新
安装 pcre (你需要 brew 来实现)
$ brew install pcre
构建 Apache
$ tar xzvf httpd-2.3.16-beta.tar.bz2 $ cd httpd-2.3.16-beta $ ./configure $ make
用新建的 ab 覆盖现有的 ab
$ sudo cp support/ab /usr/sbin
答案3
您是否尝试过使用:127.0.0.1
而不是 localhost?
如果我不在http://
前面写 url,我的 ab 也会失败。
答案4
我在使用 Mountain Lion ab v2.3 时遇到了同样的错误,并且几乎准备好按照上述答案之一的指示安装 brew 和最新版本的 ab。在最终这样做之前,我尝试了添加尾部斜杠。
user$ ab http://dl.cubrid.org
ab: invalid URL
Usage: ab [options] [http[s]://]hostname[:port]/path
在上述消息中,请注意输入 URL 的格式要求。可选组件用方括号标记,但请注意/小路部分似乎是不是可选。因此,我认为如果我要测试根域,我至少应该添加尾部斜杠,确实起到了作用!希望这对你也有帮助。
user$ ab dl.cubrid.org/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking dl.cubrid.org (be patient).....done
Server Software:
Server Hostname: dl.cubrid.org
Server Port: 80
Document Path: /
Document Length: 13437 bytes
Concurrency Level: 1
Time taken for tests: 0.863 seconds
Complete requests: 1
Failed requests: 0
Write errors: 0
Total transferred: 13606 bytes
HTML transferred: 13437 bytes
Requests per second: 1.16 [#/sec] (mean)
Time per request: 862.778 [ms] (mean)
Time per request: 862.778 [ms] (mean, across all concurrent requests)
Transfer rate: 15.40 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 207 207 0.0 207 207
Processing: 655 655 0.0 655 655
Waiting: 234 234 0.0 234 234
Total: 862 862 0.0 862 862