public inbox for passt-user@passt.top
 help / color / mirror / Atom feed
From: Max Chernoff <git@maxchernoff.ca>
To: Stefano Brivio <sbrivio@redhat.com>
Cc: passt-user@passt.top
Subject: Re: pasta slow at HTTP upload
Date: Wed, 12 Nov 2025 04:22:32 -0700	[thread overview]
Message-ID: <043088ef8bdc2d2c7a910617eb58d494cd9761e0.camel@maxchernoff.ca> (raw)
In-Reply-To: <20251112113201.3bcabc6c@elisabeth>

Hi Stefano,

On Wed, 2025-11-12 at 11:32 +0100, Stefano Brivio wrote:
> Hmm, actually, I have a hack that's not quite correct (we should make
> ACK_INTERVAL adaptive instead, which is one of the other bits I'm
> working on), but if it fixes the issue for you, it should at least mean
> that we're talking about the same issue.
>
> Patch attached. Can you give that a try?

That seemed to help quite a bit---it's now 200x faster than before, but
still 10x slower than --network=host:

    $ curl --output /dev/null --progress-meter --form file=@./test.tar.gz "https://www.ctan.org/submit/validate"
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  100M    0   345  100  100M     63  18.4M  0:00:05  0:00:05 --:--:-- 20.3M

    (With the original pasta, stopped early)
    $ podman run --rm --pull=newer --volume="$(realpath .):/srv/:Z" --workdir=/srv/ --network=pasta quay.io/fedora/fedora-minimal curl --output /dev/null --progress-meter --form file=@./test.tar.gz "https://www.ctan.org/submit/validate"
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      4  100M    0     0    4 5056k      0  78152  0:22:21  0:01:06  0:21:15 39298⏎

    (With the patch applied)
    $ podman run --rm --pull=newer --volume="$(realpath .):/srv/:Z" --workdir=/srv/ --network=pasta quay.io/fedora/fedora-minimal curl --output /dev/null --progress-meter --form file=@./test.tar.gz "https://www.ctan.org/submit/validate"
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  100M    0   345  100  100M      8  2393k  0:00:42  0:00:42 --:--:-- 4729k

    $ podman run --rm --pull=newer --volume="$(realpath .):/srv/:Z" --workdir=/srv/ --network=host quay.io/fedora/fedora-minimal curl --output /dev/null --progress-meter --form file=@./test.tar.gz "https://www.ctan.org/submit/validate"
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  100M    0   345  100  100M     69  20.0M  0:00:04  0:00:04 --:--:-- 20.4M

Also, I should mention that I'm using the following networking-related
sysctls:

    net.core.wmem_max=7500000
    net.core.rmem_max=7500000
    net.ipv4.tcp_notsent_lowat=131072
    net.core.default_qdisc=cake
    net.ipv4.tcp_congestion_control=bbr

I read some articles that suggested that those were a good idea, and
I've been using them for about a year now, but I can disable those for
testing if you want. I'm also using systemd's
IPAddressAllow/IPAddressDeny/RestrictAddressFamilies and some SELinux
port restrictions; I can easily disable those too.

Thanks,
-- Max

  reply	other threads:[~2025-11-12 11:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <176293029592.2033508.497353982367240204@maja>
2025-11-12  6:55 ` Stefano Brivio
2025-11-12 10:32   ` Stefano Brivio
2025-11-12 11:22     ` Max Chernoff [this message]
2025-11-12 12:53       ` Stefano Brivio
2025-11-13  0:30         ` Max Chernoff
     [not found]         ` <176301983731.2033508.12381101277059600955@maja>
2025-11-17  5:13           ` David Gibson
2025-11-23  9:12             ` Max Chernoff
2025-11-12  6:11 Max Chernoff

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=043088ef8bdc2d2c7a910617eb58d494cd9761e0.camel@maxchernoff.ca \
    --to=git@maxchernoff.ca \
    --cc=passt-user@passt.top \
    --cc=sbrivio@redhat.com \
    /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 IMAP folder(s).