http://hi.baidu.com/spkiller/blog/item/b216a80176137f00728da57f.html

完成端口理论值socket上限是6万多,也就是说纯连接能达到65535个,而select只能64个,更改了FD_MAXSIZE后最多1024,但是实际只能支撑七八百的极限。
由于某天对Winsock select模型的一个奇怪猜想,google、baidu了半天均无前例,于是写了两个socket类进行实验,一个是改进select模型的核心,一 个是完成端口,另外还有一个原始select模型,相同接口,相同测试程序,测试程序是写的一个支持单独TCP-CONNECT的socks5代理服务 器,大致测试结果如下:
传输总带宽10Mbps占满:
原始select为多线程,每线程512socket容量,完成端口为1个工作线程,改进select为1个轮循线程

50连接以下,原始select、完成端口、改进select性能基本相同,CPU占用依次是(%):3-5,0-1,7-11
500连接,原始select基本不能工作,完成端口和改进select性能基本相同,CPU占用依次(%):70以上,5-8,7-11
2000连接,原始select完全不能工作,完成端口和改进select性能基本相同,CPU占用依次(%):100,40-50,40-50
10000连接,原始select完全不能工作,完成端口和改进select性能基本相同,CPU占用依次(%):100,90-100,100
 


相关文章:

  • 2022-12-23
  • 2021-09-09
  • 2022-01-27
  • 2021-09-23
  • 2022-12-23
  • 2022-02-20
  • 2021-05-28
  • 2022-12-23
猜你喜欢
  • 2021-09-10
  • 2021-07-22
  • 2022-12-23
  • 2021-07-25
  • 2022-12-23
相关资源
相似解决方案