ideawu/c1000k logo

ideawu/c1000k

Free

A tool to test if your OS supports 1 million connections(c1000k/c1m)

FreeFree tier
Type
Open Source

About ideawu/c1000k

c1000k is an open-source TCP server-client benchmarking tool designed to test whether an operating system can handle 1 million concurrent TCP connections (c1000k/c1m). Written in C, it provides a simple server that listens on ports 7000-7099 and a client that connects repeatedly. The tool helps identify OS-level limitations such as the "Too many open files" error, which indicates the maximum number of open file descriptors has been reached. It is commonly used for performance tuning and capacity planning of network servers. The project is hosted on GitHub and requires compilation via make.

Key Features

TCP server-client architecture for connection testing
Tests OS capability to handle up to 1 million concurrent connections
Written in C for performance and low-level control
Simple compilation with make
Detects common OS limitations like max open files

Pros & Cons

Pros
  • Free and open source
  • Lightweight and easy to compile
  • Directly tests a key scalability metric (c1000k)
  • Provides clear error messages for OS limitations
Cons
  • Requires manual compilation and setup
  • No graphical interface or reporting
  • Limited to TCP connection testing only
  • Not actively maintained (last commit years ago)

Best For

Benchmarking server connection limitsOperating system capacity planning for high-concurrency applicationsTuning file descriptor limits on Linux/Unix systemsEducational testing of network stack performance

FAQ

How do I install c1000k?
Download the source, unzip, run 'make', then start the server with './server 7000' and run the client with './client 127.0.0.1 7000'.
What does 'Too many open files' error mean?
It means the server reached the maximum number of open file descriptors allowed by the OS, preventing it from accepting more connections.
Can c1000k test 1 million connections?
Yes, the tool is designed to test if your OS supports 1 million connections (c1000k). The server and client work together to attempt that many connections.