Comments (7)
actually i came across this issue too...
golang/go#65064
from gnet.
I'm a little bit confused, you said that gnet
worked great on the 192-cores machine before, but now it doesn't anymore?
from gnet.
@panjf2000 i saw the stats wrong, it wasnt fully utilizing the cores and it has the issues here:
golang/go#65064
it worked better than the rest including evio etc.
from gnet.
Just out of curiosity, what networking frameworks did you test exactly?
from gnet.
@panjf2000
gnet
https://github.com/IceFireDB/redhub
evio
https://github.com/tidwall/redcon
as mentioned, i'm looking at io_uring and maybe even af_xdp now because epoll cant take advantage of multi cores like 192 cores.
https://www.51cto.com/article/627651.html
it's really terrible the performance. and with more cores, the cpu will take up a 3-5% tested on aws c6a. 192 cores 384gb ram
now i'm hoping for tls and io_uring from gnet. pls look at the tls as top priority.
from gnet.
@panjf2000 my bad, i was testing redis and http at the same time.
http version is "perfect". (need tls and io_uring)
it's fastest than all others, able to take advantage of multiple cores even up to 192 cores effectively.
i updated my code. it was my customized profiler that was underperforming
from gnet.
@panjf2000 my bad again, i tested one last time and found gnet is best used in 8 core - 12 core environments. "optimum" at 8 cores, anymore than that will have diminish return.
yes it is able to use up all 192 cores but the speed actually dropped greater than lower cores, around 16 cores i think (where it is peaked)
e.g. 8 cores at 530000 req/s
16 cores at 580000 req/s
192 cores at 530000 req/s
1 core at 65000 req/s
p.s. : i wasnt looking at the max core per cpu then. i just tested 192 threads then realised it's as fast as running on 8 cores even with the 192 cores used 100%
from gnet.
Related Issues (20)
- [Question]: Will the OnTraffic function be called concurrently? HOT 1
- [Question]: Validate the approach of implementing persistent TCP connections. HOT 1
- [Bug]: Calling Dial() in version 2.4 of Windows 10 will block HOT 4
- [Question]: I would like to verify whether this problem in the screenshot will cause the memory of the service to slowly increase. HOT 1
- [Feature]: support edge-triggered I/O
- [Question]: Is the netpoll v1 version defaulting to horizontal triggering, and the V2 version defaulting to edge triggering? HOT 15
- [Bug]: fatal error: concurrent map read and map write HOT 1
- Inconsistent behaviors with SO_REUSEPORT on Linux and *BSD HOT 7
- Don't use SO_REUSEPORT on Unix domain sockets HOT 1
- Don't disable SO_REUSEPORT on DragonFlyBSD HOT 1
- [Question]: gnet client works not as expected even tho i did it according to the api ref HOT 1
- [Bug]: GNET client not working as expected HOT 4
- [Bug]: example gnet for echo tcp uses too much memory HOT 7
- [Bug]: Read returns io.ErrShortBuffer on closed connection HOT 7
- Special treatment for the first package HOT 8
- [Question]: How to shut down the started tcp server and turn off port listening? HOT 2
- [Question]: When using io.CopyBuffer(), do you need to call Flush to send the data? HOT 2
- [Bug]: Discard() panic HOT 17
- [Feature]: `io_uring` support HOT 1
- [Question]: there's gnet https server now, how to use gnet https client? HOT 1
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 gnet.