[PATCH] Use clock_gettime(REAL_FAST) on DragonFlyBSD
Maxim Dounin
mdounin at mdounin.ru
Thu Jun 2 15:05:49 UTC 2016
Hello!
On Thu, Jun 02, 2016 at 08:48:19PM +0800, Sepherosa Ziehau wrote:
> On DragonflyBSD only clock_gettime(*_FAST) avoids system call and time
> counter read cost (kinda like Linux VDSO). This gives some
> improvement for performance and reduces latency.
At least FreeBSD also has clock_gettime(*_FAST), from where it was
taken to DragonFly BSD. And Linux 2.6.32+ has
clock_gettime(*_COARSE).
We do have plans to use monotonic versions, see
https://trac.nginx.org/nginx/ticket/189.
> My testing setup consists two clients and one nginx (recent head code)
> server, two clients connected to the nginx server through two 10Ge
> (82599). 15K concurrent connections from each client; client runs a
> modified version of wrk and each connection only carries one request
> for an 1KB file.
>
> Performance goes from 183Kreqs/s to 184Kreqs/s (admittedly pretty
> minor). Average latency reduces 2ms (98ms -> 96ms). Latency stdev
> reduces 6ms (198ms -> 192ms).
This doesn't look statistically significant. Have you tried
something like ministat(1) to test the results?
Note that nginx only uses gettimeofday() once per event loop
iteration, so I wouldn't expect it to make measureable difference.
[...]
--
Maxim Dounin
http://nginx.org/
More information about the nginx-devel
mailing list