Ошибка теста Apache Bench на OS X: «apr_socket_recv: Соединение сброшено одноранговой стороной (54)»

Ошибка теста Apache Bench на OS X: «apr_socket_recv: Соединение сброшено одноранговой стороной (54)»

Несколько недель назад я обновил свой MacBook Pro 13" до Lion. Только что обнаружил, что Apache Bench (apache2.2.19) не работает. Он всегда показывает эту ошибку, несмотря ни на что:

apr_socket_recv: Соединение сброшено узлом (54)

Я также выполнил чистую установку на своем Mac Mini, и возникла та же ошибка.

Как я могу это исправить?

решение1

Обратите внимание, что при использовании -rApache Bench выход из приложения при возникновении ошибок не происходит.

Издокументация:

-r
Не выходить при ошибках приема сокета.

решение2

Это связано с ошибкой в ​​программном обеспечении Apache, которое поставляется вместе с Lion. Более поздняя версия Apache (бета) исправляет эту проблему. Чтобы исправить ab, выполните следующие действия:

  1. Загрузите последнюю версию Apache

    $ wget http://apache.mirrors.pair.com//httpd/httpd-2.3.16-beta.tar.bz2
    

Если 2.3.16 недоступен, перейдите по ссылкеhttp://apache.mirrors.pair.com/httpdи получите последние новости

  1. Установите pcre (для этого вам понадобится brew)

    $ brew install pcre
    
  2. Сборка Apache

    $ tar xzvf httpd-2.3.16-beta.tar.bz2
    $ cd httpd-2.3.16-beta
    $ ./configure
    $ make
    
  3. Перезаписать существующий ab на вновь созданный

    $ sudo cp support/ab /usr/sbin
    

решение3

Пробовали ли вы использовать: 127.0.0.1вместо localhost?

Также мой ab дает сбой, если я не пишу URL-адрес http://в начале.

решение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

Связанный контент