C10k ( engelska C10k; 10k anslutningar - problemet med 10 tusen anslutningar) är det konventionella namnet för uppgiften att konfigurera och underhålla en högpresterande server som kan betjäna cirka 10 tusen anslutningar samtidigt. Formellt har hårdvaran i moderna datorer rätt prestanda för att slutföra uppgiften, men ineffektiva algoritmer kan leda till "stockning".
Det uppstod 1999 som en del av uppgiften att underhålla den då populära offentliga FTP-servern Simtel , dess administratör Den Kegel märkte att serveringsnoden på en gigabitkanal skulle behöva klara en belastning på 10 tusen anslutningar i form av hårdvara indikatorer, men programvaran tillät det inte.
Ett antal välkända webbservrar lyfter fram C10k-utmaningen, inklusive Nginx , Lighttpd , Cherokee HTTP Server , Tornado , Node.js , Yaws . För att komma runt problemet används olika tekniker: poola exekveringstrådar (istället för att tilldela en separat tråd för varje anslutning), använda lätta processer , stödja anslutningsfunktioner med hjälp av enbart användarutrymme (med minimering av systemanrop för att kringgå begränsningarna av operativsystemets kärna ).
Från och med mitten av 2010-talet kan en mellanklassserverhårdvaranod hantera upp till 10 miljoner anslutningar, och därför finns det krav på mjukvara för att ge en lämplig prestandanivå i termer av antalet samtidiga anslutningar, hänvisade till som C10M .