C10k

C10k ( engelsk  C10k; 10k forbindelser  - problemet med 10 tusind forbindelser) er det konventionelle navn for opgaven med at konfigurere og vedligeholde en højtydende server, der er i stand til at betjene omkring 10 tusinde forbindelser på samme tid. Formelt set har hardwaren på moderne computere den rette ydeevne til at fuldføre opgaven, men ineffektive algoritmer kan føre til "overbelastning".

Det opstod i 1999 som en del af opgaven med at vedligeholde den dengang populære offentlige FTP-server Simtel , dens administrator Den Kegel bemærkede, at serveringsnoden på en gigabit-kanal skulle klare en belastning på 10 tusinde forbindelser i form af hardware indikatorer, men softwaren tillod det ikke.

En række velkendte webservere fremhæver C10k-udfordringen, herunder Nginx , Lighttpd , Cherokee HTTP Server , Tornado , Node.js , Yaws . For at komme uden om problemet, bruges forskellige teknikker: pooling af udførelsestråde (i stedet for at tildele en separat tråd for hver forbindelse), brug af letvægtsprocesser , understøttelse af forbindelsesfunktioner udelukkende ved hjælp af brugerplads (med minimering af systemkald for at omgå begrænsningerne af operativsystemets kerne ).

Fra midten af ​​2010'erne er en mellemklasse serverhardwarenode i stand til at håndtere op til 10 millioner forbindelser, og derfor er der krav om, at software skal levere et passende niveau af ydeevne i forhold til antallet af samtidige forbindelser, benævnt som C10M .

Links