Donc, si je fais de l'analyse comparative avec Apache Benchmark (AB), et j'utilise un grand nombre de demandes. Ensuite, parfois au milieu d'un test, je reçois cette erreur.
Je ne sais même pas ce que cela signifie. Alors, comment puis-je le réparer? Ou est-ce juste quelque chose qui se produira si le serveur gagne trop de coups de temps? Le problème est que si j'exécute 10 000 hits, cela fonctionnera tous parfaitement. Si je l'exécute à nouveau, ça va arriver à 4000 et obtenir l'erreur:
apr_socket_recv: Connection reset by peer (104)
Un peu sur ma configuration: j'ai NGinx prenant des demandes statiques et le traitement des dynamiques à Apache. Le fichier en question est servi de cache par Nginx. Je suppose donc que cela a probablement lieu avec comment Nginx gère les demandes?
Idées?
Cela signifie que le serveur est fortement chargé avec la demande I.E, tous les threads sont occupés à servir la demande. Solution: augmenter le nombre d'attributs Maxthread pour connecteur dans le fichier Server.XML ou augmenter la valeur d'attribut acceptoire.
accepte: la longueur maximale de la file d'attente pour les demandes de connexion entrantes Lorsque toutes les threads de traitement de la demande possibles sont utilisés. Toute demande reçue lorsque la file d'attente est pleine sera refusée.
J'ai eu le même problème et ma version du serveur était:
Server Version: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.6.5 mod_Perl/2.0.9dev Perl/v5.16.3
j'ai supprimé des modules non ignifuges et un problème est parti:
Server Version: Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips
Donc, un de mod_fcgid, mod_php ou mod_perl causer problème. Vous pouvez essayer de désactiver ceux-ci si vous n'utilisez pas.
(Note latérale; Si vous utilisez OPCACHACH, désactivez FAST_SHUTDOODODODODODOD. C'était un problème aussi: opcache.fast_shutdown = 0)
Outre les réponses ici, j'ai lu beaucoup d'autres:
localhost
par 127.0.0.1
ApacheBench, Version 2.3 <$Revision: 1807734 $>
)-r
(Alors je reçois apr_pollset_poll: The timeout specified has expired (70007)
)Aucun d'entre eux n'a contribué.
J'ai pensé à changer à wrk
Après avoir vu Dutresses similaires .
Le problème semble être lié à la quantité de ports éphériques . J'ai essayé de la définir de 50000 à 25000 car il s'agit de la plage de ports. Toujours pas de chance. Ensuite, j'ai eu l'impression qu'il est liée à Time_Wait et ce blog post . Je pense que je pourrais confirmer que:
$ netstat -nat | awk '{print $6}' | sort | uniq -c | sort -n
1 CLOSE_WAIT
1 established)
1 Foreign
4 LISTEN
8 SYN_SENT
62 SYN_RECV
351 ESTABLISHED
13916 TIME_WAIT
Je ne l'ai pas réparé jusqu'à présent: - /
Selon Sudo sysctl -a | grep net.ipv4.tcp
, J'ai:
net.ipv4.tcp_tw_reuse = 0 # No luck setting only that to 1
net.ipv4.tcp_max_tw_buckets = 32768
net.ipv4.tcp_fin_timeout = 60 # Setting it to 5 didn't help either