У мене 2 сервера (Windows 2008 R2), кожен з яких має мережевий адаптер x710-DA2, який з'єднаний дротом 10 Гбіт / с.
Я можу прочитати жорсткий занурення однієї машини, з іншого, на 250 MegaBytes / Sec, але швидкість запису лише 20 MegaBytes / Sec.
Те ж саме стосується і експерименту з іншого сервера.
Що може бути причиною швидкості запису так повільно?
Додатково
Ось код, який я використовую для тестування. Просто змініть fileURL на точку на різних дисках.
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("");
}
}
Чи намагалися ви відтворити проблему з місцевої системи без участі НІЦ?
—
LawrenceC
Так. Я можу протестувати на будь-якому диску. і для мого локального диска я отримую подібні швидкості для читання і запису +200 МБ / с. Див. Код, який я використовую, додається до питання
—
ManInMoon