Eu tenho dois servidores (Windows 2008 R2), cada um com uma NIC x710-DA2, conectado em cruz por uma conexão de 10 Gbps.
Eu posso ler um mergulho difícil de uma máquina, da outra, a 250 MegaBytes / seg, mas a velocidade de gravação é de apenas 20 megabytes / s.
O mesmo acontece se eu experimentar o experimento do outro servidor.
O que pode estar causando a velocidade de gravação tão lenta?
Adicional
Aqui está o código que eu uso para testar. Basta alterar fileURL para apontar para drives diferentes.
public void Go()
{
List<string> lines = new List<string>();
for (int i = 0; i < 10000; i++)
{
lines.Add( "a whole line of text");
}
Stopwatch sw = new Stopwatch();
sw.Start();
string fileURL = @"C:\test.txt";
//string fileURL = @"\xxx.xxx.xxx.xxx\ShareName\test.txt";
textBox1.AppendText("\nTest file URL: " + fileURL + "\n");
int n = 5000;
for (int j = 0; j < n; j++)
{
File.WriteAllLines(fileURL, lines.ToArray<string>());
}
sw.Stop();
FileInfo fi = new FileInfo(fileURL);
double speed = (fi.Length * n) / (sw.Elapsed.TotalSeconds * 1000000);
textBox1.AppendText("Write test Elapsed: " + sw.Elapsed.TotalSeconds.ToString("f2") + " MegaBytes/Second: " + speed.ToString("f2") + "\n");
sw.Restart();
for (int j = 0; j < n; j++)
{
var inLines = File.ReadAllLines(fileURL);
}
sw.Stop();
speed = (fi.Length * n) / (sw.Elapsed.TotalSeconds * 1000000);
textBox1.AppendText("Read test Elapsed: " + sw.Elapsed.TotalSeconds.ToString("f2") + " MegaBytes/Second: " + speed.ToString("f2") + "\n");
//Console.WriteLine("");
}
}
Tags speed network-adapter