因为是2.4内核,所以没有使用epoll试验。
poll效率真的这么差吗?各位有没有实际的感受?
On Jan 3, 8:29 pm, "stevewang" <svenw...@21cn.com> wrote:
> 在写一个网络游戏服务器的网络模块的时候,发现一个问题:在某些情况下更采用轮询的方式要比poll更适用。
> 网络情况:大约800个客户端,每个客户端每秒大概发送32个数据包,平均每个包大约250字节。
> 在服务器端(linux操作系统,2.4内核)采用poll的时候,网络处理线程的CPU占用率最高达90%,平均也在70%左右。后来改用轮询方式,每5ms-发送和接收网络数据,结果网络处理线程CPU占用率最高只有50%,一般稳定在20%以下。从实际效果来看,客户端的延时没有明显变化(因为游戏逻辑对延时影响-要大得多,而且延时10ms也可以接收)。
>
> 因为是2.4内核,所以没有使用epoll试验。
>
> poll效率真的这么差吗?各位有没有实际的感受?