Welcome! Log In Create A New Profile

Advanced

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping
January 18, 2021 03:26AM
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-bounces@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.zhao@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
Subject Author Views Posted

[PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 367 January 14, 2021 12:54AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Vladimir Homutov 32 January 18, 2021 02:30AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 30 January 18, 2021 03:26AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Vladimir Homutov 35 January 18, 2021 09:12AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 35 January 18, 2021 10:34PM

Re: [PATCH] Add io_uring support in AIO(async io) module

Vladimir Homutov 33 January 19, 2021 11:44AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 41 January 20, 2021 08:46PM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 32 January 25, 2021 03:26AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Mikhail Isachenkov 30 February 03, 2021 09:12AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 28 February 03, 2021 09:34PM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 28 February 04, 2021 02:10AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Mikhail Isachenkov 32 February 04, 2021 03:56AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 31 February 04, 2021 07:56PM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 31 February 05, 2021 01:44AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 33 February 06, 2021 09:18PM

Re: [PATCH] Add io_uring support in AIO(async io) module

Mikhail Isachenkov 30 February 08, 2021 12:18PM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 29 February 09, 2021 03:38AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Mikhail Isachenkov 36 February 09, 2021 08:32AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 20 February 15, 2021 01:10AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Mikhail Isachenkov 21 February 15, 2021 03:12AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Vadim Fedorenko 29 February 15, 2021 06:06AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 11 February 22, 2021 02:40AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 3 February 25, 2021 02:00AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Mikhail Isachenkov 7 February 25, 2021 06:02AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 3 February 25, 2021 08:24PM

Re: [PATCH] Add io_uring support in AIO(async io) module

Mikhail Isachenkov 7 February 26, 2021 03:42AM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 6 February 27, 2021 07:50AM

Re: [PATCH] Add io_uring support in AIO(async io) module

Vadim Fedorenko 19 February 21, 2021 04:56PM

RE: [PATCH] Add io_uring support in AIO(async io) module

Zhao, Ping 18 February 22, 2021 03:28AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 58
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready