c10k

Readings on writing high-performance server in Java

Hi, Could anyone please introduce books/papers/articles that I should read If I want to write a high-performance RPC server in Java, which handles large number of concurrent connections(C10K or over), is fault-tolerant, can be scaled out, and maintains high throughput? Thanks! ...

Apache and the c10k.

How is Apache in respect to handling the c10k problem under normal conditions ? Say while running very small scripts with little data, or do I need to scale out if I use Apache? In the background heavy lifting is done by a few servers running specialized software that processes the requests but I'd like to use Apache as a front. Is this...

Writing a socket-based server in Python, recommended strategies?

I was recently reading this document which lists a number of strategies that could be employed to implement a socket server. Namely, they are: Serve many clients with each thread, and use nonblocking I/O and level-triggered readiness notification Serve many clients with each thread, and use nonblocking I/O and readiness change notifica...

What are the theoretical performance limits on web servers?

In a currently deployed web server, what are the typical limits on its performance? I believe a meaningful answer would be one of 100, 1,000, 10,000, 100,000 or 1,000,000 requests/second, but which is true today? Which was true 5 years ago? Which might we expect in 5 years? (ie, how do trends in bandwidth, disk performance, CPU perform...

Java Socket Programming does not work for 10,000 clients

I can create multiple threads for supporting multi-client feature in socket programming; that's working fine. But if 10,000 clients want to be connected, my server cannot create so many threads. How can I manage the threads so that I can listen to all these clients simultaneously? Also, if in this case the server wants to send somethin...

Library to create high-performance server applications

I remember finding a C++ (or maybe plain C) library which does thread pooling, socket polling and other stuff, needed to write a high-performance server on Linux. (And this library was not Boost itself but it could be that it used Boost.) As usual, I can't remember the name of the library. Any guesses? Update: that was not ACE. ...

How to scale a TCP listener on modern multicore/multisocket machines....

I have a daemon to write in C, that will need to handle 20-150K TCP connections simultaneously. They are long running connections, and rarely ever tear down. They have a very small amount of data (rarely exceeding MTU even.. it's a stimulus/response protocol) in transmit at any given time, but response times to them are critical. I'm ...

How many open udp or tcp/ip connections can a linux machine have?

There are limits imposed by available memory, bandwidth, CPU, and of course, the network connectivity. But those can often be scaled vertically. Are there any other limiting factors on linux? Can they be overcome without kernel modifications? I suspect that, if nothing else, the limiting factor would become the gigabit ethernet. But for ...

Software/system to serve large quantities of images?

At our peak hour we need to serve around 250/rps. What we're doing is accepting a url for an image, pulling the image out of memcache, and returning it via Apache. Our currently system is a dual-core machine with 4GB of memory: 2GB for the images in memcache and 2GB for Apache; but we're seeing a very high load (20-30) during our peak ...

Will PHP Die In Web Page Development World?

I know that PHP is still the most popular web programming language in the world. This question just want to bring some of my concerns about PHP. PHP is naturally bound to C10K problem. Since PHP (generally run in Apache) cannot be event-driven or asynchronous, each HTTP request will occupy at least one thread or process. This makes it r...

Is there any modern review of solutions to the 10000 client/sec problem

(Commonly called the C10K problem) Is there a more contemporary review of solutions to the c10k problem (Last updated: 2 Sept 2006), specifically focused on Linux (epoll, signalfd, eventfd, timerfd..) and libraries like libev or libevent? Something that discusses all the solved and still unsolved issues on a modern Linux server? ...

Handling storage of billions of pieces of information?

What is the best solution if I need to have a database with a billion+ objects and I need to have immediate (or nearly immediate) access to any of the items in the database at any time. This database would be queried at about 1000 requests per second. The rows in the database are pretty much unrelated and thus doesn't need to be relatio...