Portál AbcLinuxu, 21. prosince 2025 19:17
connections that come in on this port will be evenly distributed across the sockets by the kernel [...] can help avoid bottlenecks that appear in certain situations when only one thread accepts new connections and then distributes them across other threadsMůžu se zeptat co provozuješ za nasazení kde ti tohle pomůže? Chápu to v případě Googlu a dalších obrovských webových, mailových nebo DNS farem, ale jak můžu narazit na tenhle bottleneck v "normálním" provozu?
To mi přijde naprosto skvělý.
Abys nemusel mit requirement na novem jadru 
setsockopt()
SO_REUSEPORT, tak (pokud to první prjde) úspěšnost toho syscallu. Co chci říct, je, že by se mělo kontrolovat, zda lze socket option nastavit, ne jaká je verze jádra.
To je vcelku jednoduchý. Představ si, že máš třeba UDP server, který obsluhuje klienty v jedné smyčce událostí (v jednom procesu a v něm v jednom vlákně). Doprogramovat do něj multithreading by bylo poměrně pracné. S touto funkcí to jednak není potřeba a jádro to samo spravedlivě rozdělí mezi jednotlivé procesy. Takže využiješ všechna jádra procesoru i s takto napsaným serveremZrovna v tomdle pripade uplne staci REUSEADDR.To mi přijde naprosto skvělý.
To tedy nevím, já měl vždycky za to, že SO_REUSEADDR ti neumožní bindnout víc procesů na jednu adresu+portNa Linuxu jo, na BSD ne.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.