Open kares opened 9 years ago
for record, some numbers (30+ concurrency) :
NO_CACHE READ ... initial 100-700ms stays at around 300ms after warm-up NOTE: certificate generation is not that slow it's mostly contention adding up due concurrency.
CACHED READ ... initial [---||---] goes down to around ~ 50ms after warm-up
from a real-world testing with
SSLSocket
s being created concurrently (usingActiveMerchant
)after a while contetion seems to add up around
ASN1ObjectIdentifier.getBody
(using BC 1.50)0.9.7 was initially tested, which revealed some contention in Sun's provider while loading the certificate :
this issue can be reproduced using 0.9.8 SNAPSHOT at https://github.com/jruby/jruby-openssl/commit/7e381cb44c283acefb28178b8fd70cd3555a7452 (application was running for ~ 3 hours)
... in an attempt to consult BC's X.509 support when available https://github.com/jruby/jruby-openssl/commit/ef2d1d93a4d56c52fb650b29cc44c2f937b68c0e (also due consistency since we're using it internally) ... the contention got much higher :
full stack-trace trees : https://gist.github.com/kares/e850554aa5756becfd91