1m-go-tcp-server
benchmarks for implementation of servers which support 1 million connections (by smallnest)
gnet
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。 (by panjf2000)
Our great sponsors
1m-go-tcp-server | gnet | |
---|---|---|
1 | 6 | |
1,857 | 8,823 | |
- | - | |
0.0 | 8.4 | |
about 3 years ago | 5 days ago | |
Go | Go | |
- | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
1m-go-tcp-server
Posts with mentions or reviews of 1m-go-tcp-server.
We have used some of these posts to build our list of alternatives
and similar projects.
-
Network Scaling Question/Issue
I understand I solution is load balancing but the code isn't well prepared for that at the moment. I found something called epoll . After implementing in test, I came to realise the amount of workers = the number of tcp connections you can handle. When attempting to use 9000 workers, the server takes very long to start. At the moment I am trying to fulfil over 5000 tcp connections concurrently , each proxying to other servers (sometimes similar servers).
gnet
Posts with mentions or reviews of gnet.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-03-14.
- Gnet is the fastest networking framework in Go
-
Handling TCP connections at scale - Ideas/Suggestions
Exciting question. Many goroutines consume resources accordingly and could also generate latency due to this. If you work under Linux: Have you looked at epoll? Since the system has to do basic connection handling anyway, you can shift or save at least part of the task. gnet is a very good library here to handle epoll & co. Maybe it makes sense to have a look at it or directly use epoll under go.
-
Show HN: Go-Nbd – A Pure Go NBD Server and Client
Since this heavily involves networking, take a look into using gnet [0]. You might find some interesting performance improvements by using that over just net.Conn.
[0] https://github.com/panjf2000/gnet
-
Millions of Active WebSockets with Node.js
Node is a joke. It's not good for this.
Check out https://github.com/panjf2000/gnet, it also has some links at the end.
-
Show HN: Python framework is faster than Golang Fiber
Since we're in the useless benchmark, this Go native library completely wreck any C/C++ lib wrapped by Python: https://github.com/panjf2000/gnet
-
Goroutines Are Not Significantly Lighter Than Threads
Go does not forces you to do any of that: https://github.com/panjf2000/gnet