Meine Anwendung enthält zwischen 950-970 SSL-Verbindungen, bevor sie in SSL_read
segregiert. Ist es möglich, OpenSSL so zu konfigurieren, dass mehr Verbindungen akzeptiert werden?
Ich habe es programmiert, nichts über die Verbindungen nach dem Erwerb zu tun, also weiß ich, dass dies eine Funktion von # offenen Verbindungen ist, nicht # von Verbindungen, die gerade lesen / schreiben oder Zeit.
Aktualisierungen:
ulimit -n
ist auf 4096 gesetzt. Ich habe dies überprüft, indem ich auch ulimit -100
gesetzt habe. In diesem Fall wird ein anderer Fehler beobachtet. Ich versuche, OpenSSL aus der Quelle mit aktivierten Debugging-Optionen zu erstellen. Ich fange an mich zu fragen, ob das Stunden dauern wird oder mir etwas Nützliches zu sagen. Ich habe eine Frage zu diesem hier.
Ich habe festgestellt, dass der segfault in dieser Zeile in openssl v 1.0.1.c auftritt:
%Vor% Außerdem habe ich festgestellt, dass dies nicht innerhalb der ssl_read
-Funktion (die auf ssl3_read
verweisen sollte) segfauling ist. Das Mitglied ssl_read
von method
ist tatsächlich selbst ungültig und es scheint, dass method
selbst ebenfalls ungültig ist (ich schließe das auf der Grundlage einer "seltsam aussehenden Adresse" ab.)
IMHO, es scheint, als ob Sie ein Limit erreicht haben. Wie Sie gesagt haben, ist die Anzahl der Dateideskriptoren in Ordnung. Sie könnten also versuchen, die Stackgröße mit ulimit
zu erhöhen. ZB:
Darüber hinaus könnten Sie ein Tool wie valgrind verwenden, um herauszufinden, was wirklich an dem Punkt vor sich geht, an dem Ihre App die Standardwerte erreicht.
Ich hoffe, es hilft.