DPDK usage discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Anupama Laxmi <anupamalaxmi4@gmail.com>
Cc: users <users@dpdk.org>
Subject: Re: [dpdk-users] dpdk packet loss,delay, retransmission
Date: Mon, 22 Jul 2019 09:17:46 -0700	[thread overview]
Message-ID: <20190722091746.2e0f5131@xps13> (raw)
In-Reply-To: <CA+17DaWBgKC=V8c15-haAai14fX2rz51gEE6jxHDz9kTrjkwtw@mail.gmail.com>

On Sun, 21 Jul 2019 15:11:34 +0530
Anupama Laxmi <anupamalaxmi4@gmail.com> wrote:

> I see delay in TCP packet transfer while transferring huge files using
> SSH/SCP. The delay is not seen with file sizes up to 35 MB. Beyond 35 MB
> there is delay due to TCP out of order /retransmission and packet loss. For
> file size 762835531 earlier it took 8 seconds for scp transfer now it takes
> ~~ 4 mins after DPDK upgrade. I suspected Small RX and TX queue size on
> NICs which are connected to DPDK is causing packet drops.
> 
>    1. Increased TX queue and RX queue size as follows.
>    RTE_TEST_RX_DESC_DEFAULT 128 RTE_TEST_TX_DESC_DEFAULT 512
> 
> to
> 
> RTE_TEST_RX_DESC_DEFAULT 4096 RTE_TEST_TX_DESC_DEFAULT 4096
> 
> Saw little improvement. The time taken for scp reduced to 2mins and 30
> seconds for file of size 762835531.
> 
>    1. Tried to rate limit the TX rate using: rte_eth_set_queue_rate_limit
>    API
> 
> Not seeing much improvement.
> 
> Please suggest ways to configure the mbuf,queue size to optimize the
> performance and reduce the delay and drop in packet transfer.

Welcome to the world of buffer bloat.

The root cause is that large receive and transmit queues give worse performance
in the real world.  The optimum queue size is actually smaller than you think.
The DPDK examples are all badly tuned for real life, they encourage bufferbloat.
The values are to allow UDP  packet benchmarks to be fast.

What is your packet size and data rate?
You should aim for < 1ms of buffering.

DPDK could do better by implementing something like Byte Queue Limits in
Linux and/or CoDel. But this requires a software queueing layer on top of
the hardware.


      reply	other threads:[~2019-07-22 16:17 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-21  9:41 Anupama Laxmi
2019-07-22 16:17 ` Stephen Hemminger [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190722091746.2e0f5131@xps13 \
    --to=stephen@networkplumber.org \
    --cc=anupamalaxmi4@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).