OpenSSL настройте максимальное количество подключений

Мое приложение удерживает от 950 до 970 SSL-соединений, прежде чем произойдет segfault внутри SSL_read. Можно ли настроить OpenSSL для приема большего количества подключений, чем это?

Я запрограммировал его так, чтобы он ничего не делал с соединениями после их получения, поэтому я знаю, что это функция количества открытых соединений, а не количества соединений, которые в данный момент читают/пишут, или времени.

Обновления:

  • Та же ошибка на Ubuntu в том же месте. Я работаю над Ubuntu в будущем.
  • Та же ошибка, если я удваиваю размер своей машины (ОЗУ, подкачка, ЦП) при том же количестве подключений.
  • Контекст не является нулевым.
  • ulimit -nустанавливается равным 4096.Я проверил это, также установив ulimit -100, в этом случае наблюдается другая ошибка.
  • Проблема возникает, даже если потоки объединены в пул. Проблема возникает при одном и том же количестве соединений, будь то 1 поток/соединение или 1 поток/10 соединений.

Я пытаюсь собрать OpenSSL из исходного кода с включенными параметрами отладки. Я начинаю задаваться вопросом, займет ли это часы или расскажет мне что-нибудь полезное. У меня есть вопрос по этому здесь.

Я определил, что ошибка сегментации происходит в этой строке в openssl v 1.0.1.c:

ssl_lib.c:968

968     return(s->method->ssl_read(s,buf,num));

Кроме того, я определил, что это не ошибка сегментации внутри функции ssl_read(которая должна чтобы указать на ssl3_read). Член ssl_readметода фактически недействителен сам по себе, и, похоже, сам метод также недействителен (я делаю вывод на основе «странно выглядящего адреса. ")

8
задан Community 23 May 2017 в 12:21
поделиться