C10k problem: Difference between revisions

Content deleted Content added
Hgual (talk | contribs)
m History: as with previous edit, removed visually jarring spaces
AnomieBOT (talk | contribs)
Rescuing orphaned refs ("C10M" from rev 1068218995; "C10M-howto" from rev 1068218995)
Line 6:
 
== History ==
The term ''C10k'' was coined in 1999 by software engineer Dan Kegel,{{r|aosa2:nginx}}<ref name = "Dan Kegel, kegel.com, 1999" /> citing the [[Simtel]] FTP host, [[cdrom.com]], serving 10,000 clients at once over 1 [[gigabit per second]] [[Ethernet]] in that year.<ref name="C10K" /> The term has since been used for the general issue of large number of clients, with similar numeronyms for larger number of connections, most recently "C10M" in the 2010s to refer to 10 million concurrent connection.<ref name="C10M">{{Cite web|url=https://migratorydata.com/blog/migratorydata-solved-the-c10m-problem/|title=How MigratoryData solved the C10M problem: 10 Million Concurrent Connections on a Single Commodity Server|website=migratorydata.com|language=en|date=2015-05-20|access-date=2021-10-15|author=Mihai Rotaru}}</ref>
 
By the early 2010s millions of connections on a single commodity 1U rackmount server became possible: over 2 million connections ([[WhatsApp]], 24 cores, using [[Erlang (programming language)|Erlang]] on [[FreeBSD]]),<ref name = "WhatsApp blog, 2012" > {{ Cite web | url = https://blog.whatsapp.com/196/1-million-is-so-2011 | title = 1 million is so 2011 | access-date = 25 July 2019 | date = 6 January 2012 | website = [[WhatsApp]] blog | quote = This time we also wanted to share some more technical details with you about hardware, OS and software: hw.machine: amd64 hw.model: Intel(R) Xeon(R) CPU X5675 @ 3.07GHz hw.ncpu: 24 hw.physmem: 103062118400 hw.usermem: 100556451840 | archive-url = https://web.archive.org/web/20140501234954/https://blog.whatsapp.com/196/1-million-is-so-2011 | archive-date = 1 May 2014 | df = dmy-all }} </ref><ref name = "Reed, Erlang Factory, 2012" > {{ Cite web | url = http://www.erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf | title = Scaling to Millions of Simultaneous Connections | access-date = 25 July 2019 | first = Rick | last = Reed | date = 30 March 2012 | website = Erlang Factory | format = pdf | page = 7 | archive-url = https://web.archive.org/web/20120709235656/http://www.erlang-factory.com/upload/presentations/558/efsf2012-whatsapp-scaling.pdf | archive-date = 9 July 2012 | df = dmy-all }} </ref> 10–12 million connections (MigratoryData, 12 cores, using [[Java (Programming language)|Java]] on [[Linux]]).<ref name="C10M" /><ref name="C10M-howto">{{Cite web|url=https://migratorydata.com/blog/migratorydata-with-12-million-concurrent-websockets/|title=Scaling to 12 Million Concurrent Connections: How MigratoryData Did It|website=migratorydata.com|language=en|date=2013-10-10|access-date=2021-10-15|author=Mihai Rotaru}}</ref>
 
Common applications of very high number of connections include general public servers, or private servers of very big companies whose sparse offices are connected to those servers via their [[virtual private network]]s, that have to serve thousands or even millions of users at a time, such as [[file server]]s, [[FTP server]]s, [[proxy servers]], web servers, [[Load balancing (computing)|load balancers]], and so on.<ref name="conn-very-high-file">{{Cite book|url=https://www.google.it/books/edition/High_Performance_Computing_HiPC_2008/cNwZ1snBYQYC?hl=it&gbpv=1&dq=file+server+very+high+number+of+connections&pg=PA470&printsec=frontcover|title=High Performance Computing - HiPC 2008|language=en|year=2008|access-date=2021-10-15|author1=Ponnuswamy Sadayappan|author2=Manish Parashar|author3=Ramamurthy Badrinath|author4=Viktor K. Prasanna|isbn=978-3-540-89893-1}}</ref><ref name="C10M" />