C10k

C10k ( englanniksi  C10k; 10k connections  - 10 tuhannen yhteyden ongelma) on tavanomainen nimi tehtävälle määrittää ja ylläpitää korkean suorituskyvyn palvelinta , joka pystyy palvelemaan noin 10 tuhatta yhteyttä samanaikaisesti. Muodollisesti nykyaikaisten tietokoneiden laitteistolla on asianmukainen suorituskyky tehtävän suorittamiseksi, mutta tehottomat algoritmit voivat johtaa "ruuhkautumiseen".

Se syntyi vuonna 1999 osana silloisen suositun julkisen FTP-palvelimen Simtel ylläpitotehtävää , sen ylläpitäjä Den Kegel huomasi, että gigabitin kanavan palveleva solmu joutuisi selviytymään laitteistollisesti 10 tuhannen yhteyden kuormasta. ilmaisimia, mutta ohjelmisto ei sallinut sitä.

Useat tunnetut verkkopalvelimet korostavat C10k-haastetta, mukaan lukien Nginx , Lighttpd , Cherokee HTTP Server , Tornado , Node.js , Yaws . Ongelman kiertämiseksi käytetään erilaisia ​​tekniikoita: suoritussäikeiden yhdistäminen (sen sijaan, että kullekin yhteydelle varattaisiin erillinen säiettä), kevyiden prosessien käyttö , yhteystoimintojen tukeminen yksinomaan käyttäjätilan avulla (minimoimalla järjestelmäkutsut rajoitusten ohittamiseksi) . käyttöjärjestelmän ydin ).

2010-luvun puolivälistä lähtien keskitason palvelinlaitteistosolmu pystyy käsittelemään jopa 10 miljoonaa yhteyttä, ja siksi ohjelmistoilta vaaditaan riittävän suorituskyvyn taso samanaikaisten yhteyksien lukumäärän suhteen. C10M .

Linkit