https://github.com/JuliaWeb/OpenSSL.jl/issues/16
[all benchmarks were run on a c5.9xlarge ec2 instance with 36 cores, 72GB ram, and 12Gbps network bandwidth; HTTP connection_limit was globally set to 64]
Flamegraph for 5,120 1mb file downloads using MbedTLS pre-changes:
Flamegraph for 5,120 1mb file downloads using MbedTLS post-changes:
Flamegraph for 5,120 1mb file downloads using OpenSSL pre-changes:
Flamegraph for 5,120 1mb file downloads using OpenSSL post-changes:
julia> run_n(test1mb, 5)
[ Info: Requests completed with bandwidth: 3.2533330478922777 Gbps
[ Info: Requests completed with bandwidth: 4.843214181944833 Gbps
[ Info: Requests completed with bandwidth: 3.5875124185841143 Gbps
[ Info: Requests completed with bandwidth: 4.026332262762399 Gbps
[ Info: Requests completed with bandwidth: 5.033982620816578 Gbps
julia> run_n(test64, 7)
[ Info: Requests completed with bandwidth: 4.10335568582108 Gbps
[ Info: Requests completed with bandwidth: 5.053534637954011 Gbps
[ Info: Requests completed with bandwidth: 5.062001860337917 Gbps
[ Info: Requests completed with bandwidth: 4.082454146042958 Gbps
[ Info: Requests completed with bandwidth: 5.533806929456167 Gbps
[ Info: Requests completed with bandwidth: 4.749126792693023 Gbps
[ Info: Requests completed with bandwidth: 4.678990704192003 Gbps
julia> run_n(test256, 7)
[ Info: Requests completed with bandwidth: 5.356035112688704 Gbps
[ Info: Requests completed with bandwidth: 5.823905782310363 Gbps
[ Info: Requests completed with bandwidth: 5.815432601331491 Gbps
[ Info: Requests completed with bandwidth: 5.6780919041002695 Gbps
[ Info: Requests completed with bandwidth: 5.224197778973847 Gbps
[ Info: Requests completed with bandwidth: 5.347668568283369 Gbps
[ Info: Requests completed with bandwidth: 5.661420311498627 Gbps
julia> run_n(test1, 7)
[ Info: Requests completed with bandwidth: 5.419150223454298 Gbps
[ Info: Requests completed with bandwidth: 5.401524287502659 Gbps
[ Info: Requests completed with bandwidth: 5.253980017909086 Gbps
[ Info: Requests completed with bandwidth: 5.400176683961472 Gbps
[ Info: Requests completed with bandwidth: 5.441129420836413 Gbps
[ Info: Requests completed with bandwidth: 4.946359213089401 Gbps
[ Info: Requests completed with bandwidth: 4.878696156522679 Gbps
julia> run_n(test5, 7)
[ Info: Requests completed with bandwidth: 3.686660118353077 Gbps
[ Info: Requests completed with bandwidth: 3.9727482027553567 Gbps
[ Info: Requests completed with bandwidth: 3.94095109191621 Gbps
[ Info: Requests completed with bandwidth: 3.9756554723362445 Gbps
[ Info: Requests completed with bandwidth: 3.822916371630812 Gbps
[ Info: Requests completed with bandwidth: 3.8559408522790544 Gbps
[ Info: Requests completed with bandwidth: 3.736181461928474 Gbps
julia> run_n(test1mb, 5)
[ Info: Requests completed with bandwidth: 4.172972183495191 Gbps
[ Info: Requests completed with bandwidth: 6.555191426356047 Gbps
[ Info: Requests completed with bandwidth: 6.273986085744245 Gbps
[ Info: Requests completed with bandwidth: 5.784719689167639 Gbps
[ Info: Requests completed with bandwidth: 6.4230293475485265 Gbps
julia> run_n(test64, 7)
[ Info: Requests completed with bandwidth: 3.3484521007968304 Gbps
[ Info: Requests completed with bandwidth: 4.018736937087348 Gbps
[ Info: Requests completed with bandwidth: 4.693894691700673 Gbps
[ Info: Requests completed with bandwidth: 4.078179966498439 Gbps
[ Info: Requests completed with bandwidth: 4.021645701338701 Gbps
[ Info: Requests completed with bandwidth: 4.495957696468905 Gbps
[ Info: Requests completed with bandwidth: 5.144007198389971 Gbps
julia> run_n(test256, 7)
[ Info: Requests completed with bandwidth: 2.777793396490108 Gbps
[ Info: Requests completed with bandwidth: 3.80641153714677 Gbps
[ Info: Requests completed with bandwidth: 3.316520515233223 Gbps
[ Info: Requests completed with bandwidth: 3.1102310304442593 Gbps
[ Info: Requests completed with bandwidth: 4.061016759774914 Gbps
[ Info: Requests completed with bandwidth: 3.878093289722894 Gbps
[ Info: Requests completed with bandwidth: 4.06879726911722 Gbps
julia> run_n(test1, 7)
[ Info: Requests completed with bandwidth: 3.558819559607636 Gbps
[ Info: Requests completed with bandwidth: 3.779847331009746 Gbps
[ Info: Requests completed with bandwidth: 3.7942503813877013 Gbps
[ Info: Requests completed with bandwidth: 3.858927948553197 Gbps
[ Info: Requests completed with bandwidth: 4.570638240534253 Gbps
[ Info: Requests completed with bandwidth: 2.123122619743422 Gbps
[ Info: Requests completed with bandwidth: 3.5984364751373805 Gbps
julia> run_n(test5, 7)
[ Info: Requests completed with bandwidth: 4.4721513865996485 Gbps
[ Info: Requests completed with bandwidth: 5.392132717071204 Gbps
[ Info: Requests completed with bandwidth: 5.791889594755917 Gbps
[ Info: Requests completed with bandwidth: 5.974447343137611 Gbps
[ Info: Requests completed with bandwidth: 5.566114902812878 Gbps
[ Info: Requests completed with bandwidth: 5.7362129569935565 Gbps
[ Info: Requests completed with bandwidth: 5.774980772972791 Gbps