C10k

C10k ( engleză  C10k; 10k conexiuni  - problema celor 10 mii de conexiuni) este denumirea convențională pentru sarcina de configurare și întreținere a unui server de înaltă performanță capabil să deservească aproximativ 10 mii de conexiuni în același timp. Formal , hardware-ul computerelor moderne are performanța adecvată pentru a finaliza sarcina, dar algoritmii ineficienți pot duce la „aglomerare”.

A apărut în 1999 ca parte a sarcinii de întreținere a popularului server FTP public Simtel , administratorul său Den Kegel a observat că nodul de servire pe un canal gigabit ar trebui să facă față unei încărcături de 10 mii de conexiuni din punct de vedere hardware. indicatori, dar software-ul nu a permis acest lucru.

O serie de servere web binecunoscute evidențiază provocarea C10k, inclusiv Nginx , Lighttpd , Cherokee HTTP Server , Tornado , Node.js , Yaws . Pentru a rezolva problema, se folosesc diverse tehnici: punerea în comun a firelor de execuție (în loc să aloce un fir separat pentru fiecare conexiune), utilizarea proceselor ușoare , susținerea funcțiilor de conectare prin intermediul spațiului exclusiv al utilizatorului (cu minimizarea apelurilor de sistem pentru a ocoli limitările de nucleul sistemului de operare ).

De la mijlocul anilor 2010, un nod hardware de server de gamă medie este capabil să gestioneze până la 10 milioane de conexiuni și, prin urmare, există cerințe ca software-ul să ofere un nivel adecvat de performanță în ceea ce privește numărul de conexiuni simultane, denumite C10M .

Link -uri