Comments (5)
We've tested for a condition that has 1 million idle connections and thousands of active connections with mtcp-lighttpd and it worked well.
mTCP uses 336 bytes for a tcb struct.
Since the purpose is like chat server, let's suppose we use 4K buffer for each send and receive buffer.
Then the memory required for a connection will be (336B + 8 KB) = 8528B.
For 10 million open sessions, the total consumption will be 85.28 GB.
The actual memory usage could be a little higher.
from mtcp.
Thanks for the info. If my 10 million open sessions are mostly idle then is there a way with mtcp to only use the 8 KB on the active connections? And is there a way to further shrink the 336B per connection?
from mtcp.
It would be possible to allocate the buffers for only active connections with some modification.
Current implementation frees the buffer only when the connection is closed, but it could be changed to dynamically free the buffer if it's never used for certain period of time.
However, the 336B for tcb cannot be removed to maintain a connection information.
from mtcp.
In case nobody else implements this, then I volunteer to take on these changes once a netmap version of mTCP is available :-)
from mtcp.
That would be great!!
from mtcp.
Related Issues (20)
- Socket reader and writer in different threads
- Please remove dpdk-iface-kmod HOT 1
- Simple ping-pong mTCP app - slow ping (0.016 sec on a direct 10G connection) - mTCP not production-ready
- CentOS Linux release 7.8.2003 (Core) error: unknown field βndo_change_mtuβ specified in initializer
- Dell R220 Centos 7.8 mTCP DPDK 18.05 ERROR: This system does not support "AES".
- [ MPCreate: 173] Can't allocate memory for mempool! HOT 5
- Is mtcp over DPDK compatible with Linux Kernel 5.9? I got some errors at dpdk-iface.h HOT 1
- error running "epwget" example app, got error "No Ethernet port!"
- Run both the client and server on the same ubuntu system, is it possible?
- mTCP for Mellanox Bluefield SmartNIC HOT 3
- How to send requests to epserver
- DHCP lease time bug
- mtcp make issue HOT 2
- Macronix MX98715 packet driver returns always MAC address 00:00:00:00:00:00 ?
- A bug by static variables in RunMainLoop()
- mTCP make issue HOT 1
- Make issue with mtcp
- Lots of disconnect fail / errors HOT 1
- No route to x.x.x.x when running `perf` example HOT 1
- Strange DHCP issue with PowerLine Adapters?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mtcp.