为什么性能相对差的机器network IO高
我有两台机器,一台windows 7(简称为w7),一台windows server 2012(简称为w2012), w2012的各方面配置都远远优于w7.
我写了一个很简单的socket服务器只接收字节不做任何处理, 并写了一个socket客户端不停地发字节到socket服务器. socket客户端和服务器在同一台机器上允许.
下面是它们的主要代码,非常简单:
=======socket 服务器=======
IPAddress ip = IPAddress.Parse("127.0.0.1");
TcpListener listener = new TcpListener(ip, 8888);
listener.Start();
byte[] receivedData = new byte[1024];
while (client.Receive(receivedData) > 0)
{
}
=======socket客户端========
TcpClient client = new TcpClient();
client.Connect("127.0.0.1", 8888);
NetworkStream stream = client.GetStream();
while (true)
{
stream.Write(1024个字节, 0, 1024);
}
然后我观察Resource Monitor显示的Network I/O, 发现性能相对差的w7的network I/O反倒高于w2012, w7的network I/O是3G bps/sec, 而w2012的是13G bps/sec.
请问为什么会出现这种情况呢?大家有什么想法?先谢谢了.