Welcome! Log In Create A New Profile

Advanced

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

Zhao, Ping
January 18, 2021 10:34PM
It depends on if disk io is the performance hot spot or not. If yes, io_uring shows improvement than libaio. With 4KB/100KB length 1 Nginx thread it's hard to see performance difference because iostat is only around ~10MB/100MB per second. Disk io is not the performance bottle neck, both libaio and io_uring have the same performance. If you increase request size or Nginx threads number, for example 1MB length or Nginx thread number 4. In this case, disk io became the performance bottle neck, you will see io_uring performance improvement.


-----Original Message-----
From: nginx-devel <nginx-devel-bounces@nginx.org> On Behalf Of Vladimir Homutov
Sent: Monday, January 18, 2021 10:11 PM
To: nginx-devel@nginx.org
Subject: Re: [PATCH] Add io_uring support in AIO(async io) module

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-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.h
> tml) 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
_______________________________________________
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 34 January 18, 2021 09:12AM

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

Zhao, Ping 34 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: 63
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