58 votes

Erreur du test Apache Bench sur OS X : "apr_socket_recv : Connection reset by peer (54)"

J'ai mis à jour mon MacBook Pro 13" vers Lion il y a quelques semaines. Je viens de découvrir qu'Apache Bench (apache2.2.19) ne fonctionne pas. Il affiche toujours cette erreur, quoi qu'il arrive :

apr_socket_recv : Réinitialisation de la connexion par le pair (54)

J'ai également effectué une installation propre sur mon Mac Mini et j'ai obtenu la même erreur.

Comment puis-je réparer cela ?

67voto

Miles Points 679

Notez que si vous utilisez -r avec Apache Bench, il ne s'arrêtera pas en cas d'erreur.

De la documentation :

-r
Ne pas sortir sur des erreurs de réception de socket.

47voto

Malachi Points 11

Cela est dû à un bogue dans le logiciel Apache qui est fourni avec Lion. Une version plus récente d'Apache (bêta) corrige le problème. Pour corriger ab, voici les étapes à suivre :

  1. Téléchargez la dernière version d'Apache

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

Si la version 2.3.16 n'est pas disponible, allez sur http://apache.mirrors.pair.com/httpd et obtenir les dernières

  1. Installez pcre (vous avez besoin de brew pour cela)

    $ brew install pcre
  2. Construire Apache

    $ tar xzvf httpd-2.3.16-beta.tar.bz2
    $ cd httpd-2.3.16-beta
    $ ./configure
    $ make
  3. Remplacer l'ab existant par le nouvel ab construit.

    $ sudo cp support/ab /usr/sbin

5voto

mmay Points 51

En utilisant la méthode de mise à jour d'ab par homebrew à este Le lien a fonctionné pour moi.

brew install 'https://raw.github.com/simonair/homebrew-dupes/e5177ef4fc82ae5246842e5a544124722c9e975b/ab.rb'
brew test ab

5voto

Avez-vous essayé d'utiliser : 127.0.0.1 au lieu de localhost ?

De plus, mon ab échoue si je n'écris pas d'url avec http:// devant.

2voto

Eye Points 197

J'ai eu la même erreur avec Mountain Lion ab v2.3, et j'étais presque prêt à installer brew et la dernière version d'ab comme indiqué par l'une des réponses ci-dessus. Avant de suivre cette voie, j'ai essayé en ajoutant la barre oblique de fin .

user$ ab http://dl.cubrid.org
ab: invalid URL
Usage: ab [options] [http[s]://]hostname[:port]/path

Dans le message ci-dessus, faites attention au format requis de l'URL d'entrée. Les composants facultatifs sont marqués par des crochets, mais notez que /chemin La partie semble être no facultatif. J'ai donc supposé que si je testais le domaine racine, je devais au moins ajouter la barre oblique de fin qui a vraiment fait l'affaire ! J'espère que cela vous aidera aussi.

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X