Access_log off impact on Requests/sec
stevewin
nginx-forum at forum.nginx.org
Thu Jul 28 20:19:24 UTC 2016
Thanks Maxim.
Setting either 'accept_mutex pff;' or reuseport on the listen directive
doesn't seem to change the general trend much
(apologies for formatting below but can't seem to find a way to paste data
elegantly in this forum)
In data below the Columns are as follows
"Wrk_threads" "Connections" "Default config" "access_log off';"
"access_log off; + accept_mutex off;" "access_log off; +
listen...reuseport"
Requests/sec:
8 8 19352.37 22290.17 23944.48 23448.55
16 16 24839.12 28408.74 26976.59 27545.21
16 24 24845.17 28479.84 27039.90 27631.32
16 32 24633.34 25373.32 22097.93 25792.31
16 48 24540.14 21701.73 19953.71 23836.73
16 72 24620.15 19669.01 19285.64 20222.72
16 96 24591.50 19616.52 19646.13 19669.74
16 120 24569.45 19815.90 19752.29 19818.98
16 200 24642.54 20001.03 19981.29 19974.83
16 300 24161.27 20185.21 20376.75 20381.96
16 400 24607.07 20526.47 20743.34 20459.76
16 500 24712.25 20626.14 21016.65 20927.98
16 1000 24597.04 21137.30 21377.55 21032.03
Average Latency:
8 8 0.87ms 774.84us 348.81us 580.52us
16 16 1.61ms 1.31ms 679.01us 2.14ms
16 24 1.25ms 1.06ms 642.36us 1.52ms
16 32 3.94ms 3.23ms 1.93ms 10.26ms
16 48 8.71ms 5.00ms 3.25ms 26.24ms
16 72 17.21ms 5.37ms 3.95ms 7.53ms
16 96 36.09ms 9.79ms 8.49ms 8.05ms
16 120 44.31ms 12.13ms 9.82ms 9.82ms
16 200 108.02ms 22.18ms 21.58ms 19.26ms
16 300 112.68ms 36.75ms 39.94ms 35.11ms
16 400 94.84ms 58.44ms 60.78ms 53.03ms
16 500 82.97ms 78.26ms 65.91ms 71.37ms
16 1000 50.99ms 164.28ms 156.12ms 165.86ms
Socket errors:
8 8 none none none none
16 16 none none none none
16 24 none none none none
16 32 none none none none
16 48 none none none none
16 72 none none none none
16 96 none none none none
16 120 none none none none
16 200 none none none none
16 300 timeout 35 none none none
16 400 read 14, timeout 44 none none none
16 500 read 37, timeout 111 none none timeout 57
16 1000 timeout 189 timeout 473 timeout 629 timeout 1162
I had been experimenting with various tuning parameters for both NGINX and
Linux including
NGINX
worker_connections, access_log, worker_rlimit_nofile, multi_accept,
keepalive_requests
Linux
somaxconn, tcp_max_tw_buckets, netdev_max_backlog, tcp_max_syn_backlog,
ip_local_port_range, tcp_fin_timeout, tcp_tw_recycle, tcp_tw_reuse,
wmem_max, tcp_rmem, tcp_wmem
When I was getting undesired results with 'optimiizations' - I started
backing off the various tunings above - for some reason the access log off
seems to be the main perpetrator - for reasons I don't understand
On the client side I'm running on a machine with Intel(R) Xeon(R) CPU
E3-1241 v3 @ 3.50GHz (4 core/ 8 thread). I've repeated the runs with both 8
and 32 wrk threads with similar trend using access_log off;
Posted at Nginx Forum: https://forum.nginx.org/read.php?2,268609,268622#msg-268622
More information about the nginx
mailing list