Article View: pl.comp.os.linux.programowanie
Article #72880UDP na localhost, gubienie datagramów
From: Queequeg
Date: Fri, 08 Mar 2019 12:24
Date: Fri, 08 Mar 2019 12:24
33 lines
2286 bytes
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-mailShow 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