Apache Bench: Kegagalan handshake SSL terkait langsung dengan level concurrency


12

Saya menjalankan beberapa tes pada ab dan ketika saya menggunakan tingkat concurrency lebih dari 155 saya mendapatkan yang berikut:

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

Permintaan masih berhasil:

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

Saya telah mengujinya berkali-kali dan jabat tangan SSL hanya gagal setelah konkurensi melebihi 155. Adakah yang bisa menjelaskan kepada saya bagaimana mereka bisa berhubungan langsung?

Jawaban:


8

Jabat tangan SSL bisa gagal ketika koneksi secara umum gagal atau terputus, serta karena kesalahan SSL. Ini juga bisa gagal jika habis karena kurangnya entropi yang tersedia.

Kemungkinannya adalah Anda hanya memalu server terlalu keras. Tidak ada cukup informasi di sini untuk menentukan apa yang sebenarnya gagal.

Definisi kesuksesan dalam tes ini aneh dan mencurigakan. Namun, jika memori berfungsi, kode kesalahan 5 menunjukkan bahwa soket ditutup. Mungkin koneksi dinilai sukses setelah negosiasi SSL dimulai, bukan setelah berhasil?


1
Kesalahan 5 (seharusnya) menjadi kesalahan IO. Tapi soket openssl biasanya dibangun di atas soket normal, jadi aku tidak tahu apa yang benar-benar berarti. Soket yang normal tidak menghasilkan kesalahan IO.
Matthew Ife

Mereka lakukan ketika mereka ditutup dari jarak jauh, bukan?
Falcon Momot

Tidak, tulisan akan menghasilkan EPIPE dan pembacaan akan menghasilkan 0 byte.
Matthew Ife

Saya juga tidak yakin ini adalah kode kesalahan yang berada di domain yang sama dengan yang dapat diteruskan ke strerror (), tapi saya benar-benar tidak tahu karena saya belum melihat sumbernya.
Falcon Momot
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.