18.01.2021 11:24, Zhao, Ping пишет:
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

yes, I see that your implementation is different.
I wonder, if you can see any difference in performance depending on request size? Is it always constant?


-----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


_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to