Benchmarking service provider SSO tasks

“AuthenticationRequest” generation

lasso_login_init_authn_request(login, "https://idp1/metadata", LASSO_HTTP_METHOD_REDIRECT);
request = LASSO_LIB_AUTHN_REQUEST(LASSO_PROFILE(login)->request);
request->IsPassive = 0;
request->NameIDPolicy = g_strdup(LASSO_LIB_NAMEID_POLICY_TYPE_FEDERATED);
request->consent = g_strdup(LASSO_LIB_CONSENT_OBTAINED);
request->ProtocolProfile = g_strdup(LASSO_LIB_PROTOCOL_PROFILE_BRWS_POST);
lasso_login_build_authn_request_msg(login);
100 reqs 1000 reqs 10000 reqs
time req/s time req/s time req/s
Intel® Pentium® M processor 1500Mhz 2.993 33.414 29.932 33.409 300.877 33.236
AMD Opteron™ Processor 242 (1.6Ghz) 0.716 139.734 7.136 140.136 71.213 140.425
Intel® Xeon™ CPU 2.80GHz 2.785 35.909 27.94 35.785 280.440 35.658

“AuthenticationResponse” consuming

lasso_login_process_authn_response_msg(login, authn_response_msg);
lasso_login_accept_sso(login);
100 reqs 1000 reqs 10000 reqs
time req/s time req/s time req/s
Intel® Pentium® M processor 1500Mhz 0.572 174.840 5.788 172.766 58.249 171.677
AMD Opteron™ Processor 242 (1.6Ghz) 0.303 329.710 3.022 330.899 30.454 328.368
Intel® Xeon™ CPU 2.80GHz 0.609 164.218 6.179 161.835 62.457 160.108

Results last updated on January 25th, with Lasso almost 0.6.0. Tests systems were:

Library Usage

Calculated with valgrind on test system #1 with 30 iterations; this shows most time in those tests is spent in OpenSSL.

Most time is spent in OpenSSL

Performance Stability

Performance doesn't degrade when increasing the number of requests.