TAG:
ACE_Proactor 异步I/O操作完成所耗CPU时间随着客户端连接数成比例增加,求救!!!! 网络编程,ACE,Proactor,CPU 问题是这样的: 我用ACE_Proactor框架作了一个服务器,我在WindowsXP平台上进行了压力测试,发现:服务器同时处理少量(比如10个、100个)客户端连接时,服务器运行的CPU占用率较小,只有10%左右;但是如果处理1000个客户端连接时,服务器运行的CPU占用率则较高,达到50%之多。请问这是由于什么原因? 经过加入时间消息打印测试,发现我的服务器程序中的堆消息进行接收后然后处理再发送的过程占用的时间其实很少,不到1ms,也就是说CPU占用时间与我写的程序中的处理过程无关。而从读操作发起到读操作完成(handle_read_stream),以及从写操作发起到写操作完成(handle_write_stream),这两个过程所耗CPU时间随着服务器处理的客户端连接数的增加成比例的增加,比如1000个客户端连接时,竟然要2000ms~3000ms,也就是说此时ACE_Proactor框架完成读操作和写操作竟然要2秒的时间???(btw,我发的数据每次都是72个字节长) 各位用过ACE_Proactor框架开发过服务器程序的大虾们帮帮忙啊,谢谢!!! (iwgh) |