Apache Bench: невдача рукостискання SSL, безпосередньо пов’язана з рівнем одночасності


12

Я провів кілька тестів на ab і коли я використовую рівень одночасності понад 155, я отримую наступне:

SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
SSL handshake failed (5).
Completed 100 requests
Completed 200 requests
Finished 200 requests

Запити все ще успішні:

Concurrency Level:      200
Time taken for tests:   14.481 seconds  
Complete requests:      200
Failed requests:        0

Я перевіряв це не раз і SSL рукостискання закінчується лише після того, як одночасність перевищує 155. Чи може хтось пояснити мені, як вони могли бути безпосередньо пов'язані?

Відповіді:


9

Системне рукостискання з SSL може вийти з ладу, коли з'єднання взагалі виходить з ладу або переривається, а також через помилки SSL. Він також може вийти з ладу, якщо він вичерпується через відсутність доступної ентропії.

Цілком ймовірно, ви просто сильно забиваєте сервер. Тут недостатньо інформації, щоб визначити, що саме не вдається.

Визначення успіху в цьому тесті є дивним та підозрілим. Однак якщо пам'ять служить, код помилки 5 вказує на те, що розетка закрита. Можливо, зв’язок оцінюється успішним, як тільки розпочинаються переговори про SSL, а не після того, як він проходить успішно?


1
Помилка 5 (повинна) бути помилкою вводу-виводу. Але розетки openssl зазвичай побудовані поверх звичайних розеток, тому я поняття не маю, що це насправді означає. Звичайні розетки не призводять до помилок вводу-виводу.
Матвій Іфе

Вони роблять, коли їх віддалено закривають, чи не так?
Falcon Momot

Ні, запис створить EPIPE, а читання поверне 0 байт.
Метью Іфе

Я також не впевнений, що це код помилки, який знаходиться в тому ж домені, що і той, який може бути переданий strerror (), але я справді не знаю, як я не переглянув джерело.
Falcon Momot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.