gev
gev copied to clipboard
🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
大概看了下,好像主要是提供支持大量连接的server,有计划支持管理大量客户端连接嘛?连出去那种
issue 记录采用本项目的公司或者开源项目
异步的优势
go 使用协程+阻塞的模式来处理并发问题。这样的模式虽然对运行时要求很高,但对程序员却非常友好。这样的代码码也非常容易维护。 异步模式最大的问题就是回调嵌套,项目大了根本没法维护。我就是不想用回调方式写业务代码才转 go 的。 你认为这类 go 语言的异步框架有什么优势,要解决什么问题?
It would be nice to have the TLS support for the TCP server to securely communicate between server and a client.
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext
测试gev.IdleTime(5*time.Second),只显示 read error: read tcp 127.0.0.1:1833->127.0.0.1:58927: use of closed network connection win11&debian都这样
百兆数据传输效率
参考Example中的protobuf实例进行了初步测试,改动了proto文件: `message SendMessageReq { bytes Body = 1; } ` `message SendMessageRsp { bool Ok = 1; }` 每次传递的Body数据量在百兆左右,发现每个连接在初次进行数据传输时,都存在近一分钟左右的耗时,目前怀疑是Buffer扩容的耗时导致,请教一下,针对偶尔存在百兆数据传输的业务情形下,该如何使用或者有哪些思路优化gev的数据传输效率呢?
 windows 下每开启一个tcp,cpu占用就增加了15%,查看了一下火焰图,是(c *Connection) doPendingFunc() 这个方法里加了锁的原因,麻烦帮忙看一下是怎么回事