百川

Results 4 comments of 百川

debian10 3.2.11 都不行,只是恰好你行

看起来是libuv库相关函数没找到。试试把libuv的.a文件也加入工程依赖。首先要确保libvu可以正常,大概率你用的libuv版本和编译器版本和我不一致,所以可能自己编译一遍libuv,生成.a文件。或者你尝试用工程里面的libuv.a文件看看。

经常看到网络库宣传自己支持百万并发,其实大家都是epoll,iopc封的,理论上不是封的太挫,性能上不至于差非常多。这个库本身是对libuv封的,最初的设定就是不损耗太多额外的性能,libuv本身性能怎么样,它就是怎么样,所以这个库尽可能减少memcopy或者内存重新分配(比如读每个连接的数据,那个缓存是复用的,只有不够了才重新申请)。能跑多少,和你机器本身性能有关。 客户端这个例子你可以试试每个线程开个LOOP,每个LOOP分配若干客户端,还有关闭客户端的包处理缓存(会占内存,读包性能降低)。你可以试试和其他网络库对比。

不要一个loop跑100w客户端,因为是单线程,开若干线程(比如你16核就16个线程),每个线程一个独立的loop对象,每个loop跑几万个客户端,你可以测试下看看性能。