Laden...

Fremdrechner Festplattenauslsatung

Erstellt von yooti vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.497 Views
Y
yooti Themenstarter:in
11 Beiträge seit 2009
vor 13 Jahren
Fremdrechner Festplattenauslsatung

Hallo

Ich habe eine Server (kein Server BS) der nichts anderes macht als ein paar daten zur verfügung stellt (Netzwerkfreigabe). Dieser Server hat mehrere Platten, auf den alle daten gleich sind (Quasi gespieglet).

Eine ClientApp soll vor dem Download herausfinden welche Festplatte auf dem Server am wenigsten ausgelastet ist und von dieser dann den download beginnen.

Hat jemand ne gute und einfache Idee wie ich auf einem fremdrechner die Festplattenauslastung herausfinde ?

yooti

X
1.177 Beiträge seit 2006
vor 13 Jahren

huhu,

Perfomance-Counter liefern Dir hier die notwendige Information.

Aber: Dein Vorgehen ist etwas unüberlegt: Eine Festplatte schafft ohne Probleme > 100MB lesenden Zugriff, eine 1 GBit-Netzwerkkarte aber nicht. Dewswegen ist der Flaschenhals in diesem Fall immer das Netzwerk und Deine Idee zwar interessant, aber unwirksam. Zusätzlich werden Daten im Arbeitsspeicher gepuffert. Das bedeutet, wenn 2 mal dieselbe Datei angefordert wird, dann wird sie nur einmal physisch von der Festplatte gelesen. wenn Du aber beim 2. Zugriff eine datei von einer anderen Festplatte liest, dann greift dieser Mechanismus nicht mehr. Zum 3. gibt es ja für einen schnelleren Festplattenzugriff die "Idee" eines Spiegelsets (lässt sich auch als Raid mit datensicherheit afbauen) - damit erhält man einen schnelleren Datendurchsatz zu den physischen Datenträgern. Wir haben hier mal ein kleines Raid5 mit SSD aufgebaut, das macht ca. 700 MB/sek. Ein Raid50 mit SATA-Platten schafft bei uns ca. 300MB/sek.

😃

Xynratron

Herr, schmeiss Hirn vom Himmel - Autsch!

Die Erfahrung zeigt immer wieder, dass viele Probleme sich in Luft auslösen, wenn man sich den nötigen Abstand bzw. Schlaf gönnt.

Y
yooti Themenstarter:in
11 Beiträge seit 2009
vor 13 Jahren

danke für deine antwort

dann dürfte ich ja hier genau richtig sein oder ?
http://www.codeproject.com/KB/cs/perfgrid.aspx

Y
yooti Themenstarter:in
11 Beiträge seit 2009
vor 13 Jahren

hallo

kann ich mit dem Performance Counter auch auf andere Rechner drauf zugreifen wie mit WMI ?

Beispiel:


 try
            {
                ConnectionOptions connection = new ConnectionOptions();
                connection.Username = userNameBox.Text;
                connection.Password = passwordBox.Text;
                
                
                connection.Authority = "ntlmdomain:DOMAIN";

                ManagementScope scope = new ManagementScope("\\\\192.168.0.204\\root\\CIMV2", connection);
                scope.Connect();

                ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk");

                ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    
                    
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_PerfFormattedData_PerfDisk_LogicalDisk instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("AvgDiskBytesPerWrite: {0}", queryObj["AvgDiskBytesPerWrite"]);
                }
                //Close();
            }
            catch (ManagementException err)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + err.Message);
            }
            catch (System.UnauthorizedAccessException unauthorizedErr)
            {
                MessageBox.Show("Connection error (user name or password might be incorrect): " + unauthorizedErr.Message);
            }

Wenn ich das mit dem PerformanceCounter auch machen könnte wäre es gut und wenn wie mache ich dann das ?

mfg yooti

2.891 Beiträge seit 2004
vor 13 Jahren

kann ich mit dem Performance Counter auch auf andere Rechner drauf zugreifen wie mit WMI ?[...] Wenn ich das mit dem PerformanceCounter auch machen könnte wäre es gut und wenn wie mache ich dann das ?

Ein klein wenig mehr Eigeninitiative bitte...

Zitat von: PerformanceCounter.MachineName-Eigenschaft (System.Diagnostics)
Wenn Sie die MachineName-Eigenschaft so festlegen, dass sie auf einen Remotecomputer zeigt, versucht die PerformanceCounter-Instanz den Zähler auf diesem Computer zu öffnen.