-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SecPKCS12Import bottleneck for acceptance from a listening socket #11
Comments
na-gupta
pushed a commit
to na-gupta/BlueSSLService
that referenced
this issue
Jan 18, 2017
na-gupta
pushed a commit
to na-gupta/BlueSSLService
that referenced
this issue
Jan 18, 2017
3 tasks
billabt
added a commit
that referenced
this issue
Jan 19, 2017
#11 Reuse PKCS12 certs to avoid SecPKCS12Import performance hit
Fixed in 0.12.18. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Testing Kitura with SSLService causes a significant slowdown on osx (but not on linux). On investigating, it appears that SecPKCS12Import() (that runs every time a listening socket accepts a connection and initializes it's delegate) is very expensive. If we cache and reuse the pkcs12 certs in SSLService.Configuration we get a significant performance increase.
Testing this change with wrk shows a performance improvement from about 150 Requests/sec to about 5200 Requests/sec (35x improvement). It still is much slower than without SSL (24k Requests/sec).
On linux, using OpenSSL, the performance is comparable to without SSL. So there are probably other areas of potential improvement.
I will submit a pull request with my changes.
The text was updated successfully, but these errors were encountered: