🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.linux.programowanie
Article #72880

UDP na localhost, gubienie datagramów

#72880
From: Queequeg
Date: Fri, 08 Mar 2019 12:24
33 lines
2286 bytes
Hej,

Mam (chyba dosyć nietypowy) problem.

Jest aplikacja, której nie mogę zmienić, i która wysyła datagramy UDP 
do skonfigurowanego serwera. Częstotliwość tych datagramów jest różna.

Skonfigurowałem aplikację tak, żeby wysyłała datagramy do localhosta, 
i napisałem program, który chodzi na tej samej maszynie i je odbiera.

Niestety przy dużym obciążeniu (datagramy wysyłane jeden po drugim) część 
z nich jest gubiona. W prostym teście, w którym jeden program wysyłał 
10000 datagramów jeden po drugim, a drugi je odbierał, gubione było ok. 
30% datagramów.

Co ciekawe, efekt ten nie występuje, gdy skonfigurowany jest zewnętrzny 
serwer (w tej samej sieci) -- wtedy odbierane jest 100% datagramów. Może 
LAN wprowadza takie opóźnienia, że nagle się to wyrabia, a może sam serwer 
na tyle obciąża CPU na tej źródłowej maszynie (to słaby, jednordzeniowy 
ARMv7), że dopiero wtedy to klęka...

Wiem, że to naturalna cecha UDP i pewnie po prostu jakiś bufor w kernelu 
się przepełnia, ale czy z poziomu aplikacji odbierającej można jakoś na to 
wpłynąć? Eksperymenty z SO_RCVBUF nic nie dały.

Tylko proszę bez "przejdź na TCP lub unix domain socket lub pipe lub 
cokolwiek" :) Gdybym mógł modyfikować aplikację wysyłającą, to bym to 
zrobił.

Dzięki.

-- 
https://www.youtube.com/watch?v=9lSzL1DqQn0
Technical Details
Message-ID: <cc3a114c-98ff-4beb-aeca-00d24c6a5026@trust.no1>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.net!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.net!not-for-mail
From: queequeg@trust.no1 (Queequeg)
Newsgroups: pl.comp.os.linux.programowanie
Subject: UDP na localhost, gubienie datagramów
Date: Fri, 8 Mar 2019 12:24:36 +0000 (UTC)
Organization: news.chmurka.net
Message-ID: <cc3a114c-98ff-4beb-aeca-00d24c6a5026@trust.no1>
NNTP-Posting-Host: pi.v.chmurka.net
Mime-Version: 1.0
Injection-Date: Fri, 8 Mar 2019 12:24:36 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gof"; posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="25764"; mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: tin/2.4.2-20171224 ("Lochhead") (UNIX) (Linux/4.4.50-v7+ (armv7l))
Cancel-Lock: sha1:mMpjzZIEfN+oJJqy4bswiBwuh9M=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit