Hi Vladimir, I tested with response from 4KB to 1MB length which are ok. The procedure is first storing all the cache files on a nvme disk(~20T), then check the iostat & NIC bandwidth since then Nginx will use the cache files on disk with io_uring or libaio. So my patch didn't impact sendfile procedure, it provides another implementation of legacy libaio.
Regards, Ping -----Original Message----- From: nginx-devel <nginx-devel-boun...@nginx.org> On Behalf Of Vladimir Homutov Sent: Monday, January 18, 2021 3:28 PM To: nginx-devel@nginx.org Subject: Re: [PATCH] Add io_uring support in AIO(async io) module On Thu, Jan 14, 2021 at 05:53:17AM +0000, Zhao, Ping wrote: > # HG changeset patch > # User Ping Zhao <ping.z...@intel.com> # Date 1610554205 18000 > # Wed Jan 13 11:10:05 2021 -0500 > # Node ID 95886c3353dc80a3da215027c1e0f2141e47e911 > # Parent b055bb6ef87e49232a7fcb4e5334b8efda3b6499 > Add io_uring support in AIO(async io) module. > > Hello, This is a patch to support io_uring in AIO(async io) module. > Basically you don't need change your configurations. If you're using new > kernel(above v5.1) which supports io_uring, and you have "aio on" in your > configuration. Nginx will use io_uring for FILE_AIO access which can achieve > performance improvement than legacy libaio. > > Checked with iostat which shows nvme disk io has 30%+ performance improvement > with 1 thread. > Use wrk with 100 threads 200 connections(-t 100 -c 200) with 25000 random > requests. > > iostat(B/s) > libaio ~1.0 GB/s > io_uring 1.3+ GB/s Hello, what size of request did you use in your testing? The previous attempt to use uring (http://mailman.nginx.org/pipermail/nginx-devel/2020-November/013632.html) seem to have issues with big requests and fallback to sendfile in such cases. Note that from the standpoint of HTTP server, most requests are usually larger than 4Kb. _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel