background preloader

The C10K problem

[Help save the best Linux news source on the web -- subscribe to Linux Weekly News!] It's time for web servers to handle ten thousand clients simultaneously, don't you think? After all, the web is a big place now. And computers are big, too. You can buy a 1000MHz machine with 2 gigabytes of RAM and an 1000Mbit/sec Ethernet card for $1200 or so. Let's see - at 20000 clients, that's 50KHz, 100Kbytes, and 50Kbits/sec per client. In 1999 one of the busiest ftp sites,, actually handled 10000 clients simultaneously through a Gigabit Ethernet pipe. And the thin client model of computing appears to be coming back in style -- this time with the server out on the Internet, serving thousands of clients. With that in mind, here are a few notes on how to configure operating systems and write code to support thousands of clients. Contents Related Sites See Nick Black's execellent Fast UNIX Servers page for a circa-2009 look at the situation. Book to Read First I/O frameworks I/O Strategies 1. 2.

Related:  swabler

Design and Implementation of a High-performance TCP/IP Communications Library Download source code - 129 KB Introduction This article is the second of a multi-part series that will cover the architecture and implementation of components needed to create and maintain a robust, scalable, high performance, massive multiplayer online game server and game engine. The first article of the series focused on building a Scheduling Engine to drive organized, real-time change in a virtual world. This article focuses on the design and implementation of a TCP/IP communication component, designed to efficiently handle communications between the game server and the remote game clients (players).

WebDAV Web Distributed Authoring and Versioning (WebDAV) is an extension of the Hypertext Transfer Protocol (HTTP) that allows clients to perform remote Web content authoring operations. A working group of the Internet Engineering Task Force (IETF) defined WebDAV in RFC 4918. The WebDAV working group concluded its work in March 2007, after the Internet Engineering Steering Group (IESG) accepted an incremental update to RFC 2518. Other extensions left unfinished at that time, such as the BIND method, have been finished by their individual authors, independent of the formal working group. Many modern operating systems provide built-in client-side support for WebDAV. History[edit]

A reusable, high performance, socket server class - Part 1 The following source was built using Visual Studio 6.0 SP5 and Visual Studio .NET. You need to have a version of the Microsoft Platform SDK installed Note that the debug builds of the code waste a lot of CPU cycles due to the the debug trace output. Box plot In descriptive statistics, box plot or boxplot is a convenient way of graphically depicting groups of numerical data through their quartiles. Box plots may also have lines extending vertically from the boxes whiskers indicating variability outside the upper and lower quartiles, hence the terms box-and-whisker plot and box-and-whisker diagram. Outliers may be plotted as individual points. This is also called a "box and whisker plot". Box plots are non-parametric: they display variation in samples of a statistical population without making any assumptions of the underlying probability distribution statistical distribution.

How does a relational database work - Coding Geek When it comes to relational databases, I can’t help thinking that something is missing. They’re used everywhere. There are many different databases: from the small and useful SQLite to the powerful Teradata. But, there are only a few articles that explain how a database works. Google Architecture Update 2: Sorting 1 PB with MapReduce. PB is not peanut-butter-and-jelly misspelled. It's 1 petabyte or 1000 terabytes or 1,000,000 gigabytes. Linux Filesystem Hierarchy When migrating from another operating system such as Microsoft Windows to another; one thing that will profoundly affect the end user greatly will be the differences between the filesystems. What are filesystems? A filesystem is the methods and data structures that an operating system uses to keep track of files on a disk or partition; that is, the way the files are organized on the disk. The word is also used to refer to a partition or disk that is used to store the files or the type of the filesystem. Thus, one might say I have two filesystems meaning one has two partitions on which one stores files, or that one is using the extended filesystem, meaning the type of the filesystem. The difference between a disk or partition and the filesystem it contains is important.

Building Super Scalable Systems: Blade Runner Meets Autonomic Computing in the Ambient Cloud "But it is not complicated. [There's] just a lot of it." -- Richard Feynman on how the immense variety of the world arises from simple rules. Contents: How Does Google do Planet-Scale Engineering for a Planet-Scale Infrastructure? How does Google keep all its services up and running? They almost never seem to fail. If you've ever wondered we get a wonderful peek behind the curtain in a talk given at GCP NEXT 2016 by Melissa Binde, Director, Storage SRE at Google: How Google Does Planet-Scale Engineering for Planet-Scale Infrastructure. Melissa's talk is short, but it's packed with wisdom and delivered in a no nonsense style that makes you think if your service is down Melissa is definitely the kind of person you want on the case.

How To Create Bootable USB Without Any Software In Windows 10 (Using Command Prompt) These days very few people burn ISO images on disks and use them as bootable media. Now, USB drives have replaced them as they are faster and a more convenient method to install an operating system on a machine. While there are many tools to make bootable USB drive, there’s one provided by even Microsoft, there’s a way to do the same without any software. All you need to do is fire up Command Prompt and follow some simple instructions. Let’s take a look at it: Insert your USB flash drive to your computer.Search for ‘cmd’ in Windows 10 from the taskbar, Command Prompt will appear.

The Best Place to Put Your Wi-Fi Router - Explained by Physics Jason Cole, a PhD scholar of Imperial College, London, has studied this plasma-electromagnetic waves’ interaction. He writes that the behavior of intense EM waves and plasma can be predicted using the Maxwell’s equations that date back to the 19th century. How Maths fixed the Wi-Fi in a flat?

The Employment Status of Americans Visualized by Age Visualization Mobile Users: If you are having issues using the interactive version of this visualization, you can find a static version of it here. Data Notes A couple weeks ago, I published a graphic showing how marital status changes with age. I decided to do another one showing how employment status changes as well. This visualization uses Tableau to show the employment status for every age.