Willkommen Gast 

Infos ein-/ausblenden

Willkommen Gast! Um Beiträge zu verfassen musst Du registriert sein.





Seiten: 1 [2] 3
Autor Thema:Version 2 langsamer und speicherhungriger?
calimero
Neuling
Beiträge: 23
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 22, 2012, 13:28
Zitat

So,
ich hab jetzt auch nochmal ein bisschen rumgeschraubt . . .

Mal kurz die Eckdaten zu meinem System:

Intel Core2Quad (Q8400) 2,66GHz
8GB RAM
Windows 7 Ultimate x64
Backup geht auf eine ext. USB2-Platte (ich weiß, daß das ein Flaschenhals ist. Änderung ist in Planung)

Als erstes habe ich mal alle alten Backup-Sätze verschoben und mit dem Backup "von vorne" angefangen, sodaß beim ersten Backup nur kopiert wird. Dieser Vorgang hat ca. 4:30h gedauert, was ja schon um ein Vielfaches schneller war, als vorher.
Auch der RAM-Bedarf hielt sich in sehr niedrigen Grenzen.
Dann habe ich ein weiteres Backup (nun also mit Verlinken) getestet, das war dann schon in weniger als einer Stunde durch. Schonmal großartig.
Dann hab ich mal die Logs der alten Backups durchgesehen und festgestellt, daß jedes Backup immer 2-10 Minuten länger dauerte als am jeweiligen Vortag.
Da scheint es also doch noch irgendeinen Zusammenhang zu geben . . .

lupinho
Administrator
Beiträge: 713
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 22, 2012, 14:12
Zitat

@calimero
Hmmm... es kann schon sein, dass die 110 Hardlinks pro Datei den Ausschlag beim Speicherbedarf und evtl. auch bei der Performance geben. Wenn ich mal überschlage: 110 (Anzahl Hardlinks pro Datei)*100000 (Dateien im Backup)*200 Byte (geschätzer Speicherplatz pro Hardlink (also der Dateiname, auf den verlinkt ist)) = 2GB. Da kann ich mal für die Zukunft überlegen, wie ich diese Masse schon beim Scannen bändigen kann...
Bis dahin kannst Du die Balance zwischen Scannen und Backup folgendermaßen beeinflussen. Speichere folgenden Inhalt als Datei mit dem Namen "HardlinkBackup.Service.exe.config" im HardlinkBackup Installationsverzeichnis ab:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="Lupinho.Net.HardlinkBackup.Service.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <Lupinho.Net.HardlinkBackup.Service.Properties.Settings>
            <setting name="LogToLogFile" serializeAs="String">
                <value>True</value>
            </setting>
            <setting name="ScanBackupSettings" serializeAs="Xml">
                <value>
                    <scanBackupSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema" CacheSize="400000"
                        ScanAheadMargin="100" WorkBehindMargin="100000" TrimAndContinueScanMargin="200000" />
                </value>
            </setting>
        </Lupinho.Net.HardlinkBackup.Service.Properties.Settings>
    </applicationSettings>
</configuration>

Mit der Einstellung "ScanBackupSettings" kannst Du die Größe des Caches einstellen, den HardlinkBackup während das Backups Scannens hält. Standard sind bei 2.0.2, dass 400000 Datei-Informationen im Cache gehalten werden und das Backup startet, wenn 100000 Dateien eingelesen wurden. Du könntest es mal mit CacheSize="50000", WorkBehindMargin="10000" und TrimAndContinueScanMargin="25000" versuchen. Dadurch bekommt das Scannen weniger "Vorsprung" und es wird nach obiger Rechnung nur max. 110*50000*200=ca. 1GB Hauptspeicher verbraucht. Nachdem Du die Werte in der Datei eingestellt hast, starte den Dienst "HardlinkBackupService" bitte neu.
Ich habe die höheren Werte als Standard gewählt, weil die Erfahrung von HardlinkBackup 1 sagt, dass ab 2 Mio Dateien der Hauptspeicher knapp wird, dann wäre ich bei 400000 auf der sicheren Seite. Allerdings ermittelt Version 2 beim Scannen auch alle Hardlinks einer Datei (und hält diese im Hauptspeicher) - dass dies bei der extremen Anzahl von Backupsätzen einen gehörigen Einfluß auf den Speicherverbrauch haben kann, habe ich mir in der Deutlichkeit noch nicht vor Augen geführt. Die Ermittlung der Hardlinks kann natürlich auch die Laufzeit beim Scannen beeinflussen - da werde ich mir noch ein paar Optimierungen einfallen lassen.
Wenn Du noch Probleme hast, kannst Du Dich auch gerne an mich per E-Mail (software@lupinho.net) wenden.

calimero
Neuling
Beiträge: 23
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 22, 2012, 14:34
Zitat

Zitat von lupinho am October 22, 2012, 14:12
@calimero
Hmmm... es kann schon sein, dass die 110 Hardlinks pro Datei den Ausschlag beim Speicherbedarf und evtl. auch bei der Performance geben. Wenn ich mal überschlage: 110 (Anzahl Hardlinks pro Datei)*100000 (Dateien im Backup)*200 Byte (geschätzer Speicher pro Hardlink) = 2GB. Da kann ich mal für die Zukunft überlegen, wie ich diese Masse schon beim Scannen bändigen kann...

Bei mir sind es etwas über 250000 Dateien in ca. 24000 Ordnern . . .
Dann kommt das schon hin mit dem hohen Speicherverbrauch.
Jetzt verstehe ich auch ein bisschen die Funktionsweise und dann wird auch klar, daß das irgendwann in einem Overkill enden muss.
Aber man (-->ich) muss ja auch nicht für jeden Tag der letzten Monate/Jahre ein Backup haben. Ich kann auch gut damit leben, nur die letzten 10 Tage vorzuhalten und die älteren jeweils in Wochen-/Monatsabständen.
Mir war nicht klar, daß es bei ansteigender Zahl der Links Probleme gibt, hatte nur den Speicherbedarf im Auge.

Bis dahin kannst Du die Balance zwischen Scannen und Backup folgendermaßen beeinflussen. Speichere folgenden Inhalt als Datei mit dem Namen "HardlinkBackup.Service.exe.config" im HardlinkBackup Installationsverzeichnis ab:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="Lupinho.Net.HardlinkBackup.Service.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <Lupinho.Net.HardlinkBackup.Service.Properties.Settings>
            <setting name="LogToLogFile" serializeAs="String">
                <value>True</value>
            </setting>
            <setting name="ScanBackupSettings" serializeAs="Xml">
                <value>
                    <scanBackupSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema" CacheSize="400000"
                        ScanAheadMargin="100" WorkBehindMargin="100000" TrimAndContinueScanMargin="200000" />
                </value>
            </setting>
        </Lupinho.Net.HardlinkBackup.Service.Properties.Settings>
    </applicationSettings>
</configuration>

Mit der Einstellung "ScanBackupSettings" kannst Du die Größe des Caches einstellen, den HardlinkBackup während das Backups Scannens hält. Standard sind bei 2.0.2, dass 400000 Dateien im Cache gehalten werden und das Backup startet, wenn 100000 Dateien eingelesen wurden. Du könntest es mal mit CacheSize="50000", WorkBehindMargin="10000" und TrimAndContinueScanMargin="25000" versuchen. Dadurch bekommt das Scannen weniger "Vorsprung" und es wird nach obiger Rechnung nur max. 110*50000*200=ca. 1GB Hauptspeicher verbraucht. Nachdem Du die Werte in der Datei eingestellt hast, starte den Dienst "HardlinkBackupService" bitte neu.
Ich habe die höheren Werte als Standard gewählt, weil die Erfahrung von HardlinkBackup 1 sagt, dass ab 2 Mio Dateien der Hauptspeicher knapp wird, dann wäre ich bei 400000 auf der sicheren Seite. Allerdings ermittelt Version 2 beim Scannen auch alle Hardlinks einer Datei (und hält diese im Hauptspeicher) - dass dies bei der extremen Anzahl von Backupsätzen einen gehörigen Einfluß auf den Speicherverbrauch haben kann, habe ich mir in der Deutlichkeit noch nicht vor Augen geführt. Die Ermittlung der Hardlinks kann natürlich auch die Laufzeit beim Scannen beeinflussen - da werde ich mir noch ein paar Optimierungen einfallen lassen.

Werde ich die Tage mal probieren. Und dann nochmal mit den alten (vielen) Datensätzen testen?

Wenn Du noch Probleme hast, kannst Du Dich auch gerne an mich per E-Mail (software@lupinho.net) wenden.

Vielen Dank für das Angebot 🙂

lupinho
Administrator
Beiträge: 713
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 22, 2012, 16:50
Zitat

Noch ein paar Gedanken zu Deinem Problem: Der Hauptspeicherbedarf sinkt auch, je weniger Backups Du zum Vergleich auswählst und je mehr davon mit Index gelesen werden. Bei der Umstellung Version 1 auf zwei wird leider kein Index der alten Version gelesen und es wird mit 3 Backupsätzen verglichen. Würdes Du nur mit einem Backupsatz vergleichen wäre das schon deutlich besser und vor allem sinkt der Speicherverbrauch beim darauffolgenden Backup. Der Grund ist folgender: Wird der Index verwendet, dann liest HardlinkBackup nur die Informationen im Indexfile und dort wird immer nur ein Link gespeichert (das reicht ja). Liest HardlinkBackup keinen Index, dann liest es alle(!) Hardlinks pro Datei ein, und das für jede Datei. Bei 3 zu vergleichenden Backupsätzen, bei denen jeweils 110 Hardlinks existieren, werden also 3x110=330 Hardlinks gelesen - das kostet Zeit und Platz. Liest Du nur einen Backupsatz ein, dann passiert das nur einmal. Liest Du ein Index-File ein geht's wesentlich schneller und kostet nur einen Bruchteil (1/110) des Platzes. Also versuche bitte am besten erstmal das erste Backup durchzuführen (z.B. mit den Einstellungen von oben) und dabei nur mit einem Backup zu vergleichen. Danach müsste es fluffig gehen...

happyhour4-
56
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 24, 2012, 09:25
Zitat

Ich habe jetzt auf Version 2.0.2 (Build 8004) geupdated und es sind zwei inkrementele Updates gelaufen.

Backup 1:
nach 1 Stunde 23 Minuten erfolgreich beendet.
Es wurden 7.708 Dateien (65,0 GB) kopiert und 231.502 Dateien (1,88 TB) verlinkt. Keine Fehler traten auf (siehe "R:\2012-10-22\backup_2012-10-22_23_59_45.log").

Backup 2:
nach 32 Minuten erfolgreich beendet.
Es wurden 542 Dateien (8,74 GB) kopiert und 239.039 Dateien (1,94 TB) verlinkt. Keine Fehler traten auf (siehe "R:\2012-10-23\backup_2012-10-23_23_59_37.log").

Der HardlinkBackup.Service.exe hat sich jetzt 216 MB im Arbeitsspeicher reserviert.

Des Weiteren bekomme ich immer noch die Fehlermeldung, siehe Screenshot.
Image

lupinho
Administrator
Beiträge: 713
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 24, 2012, 09:58
Zitat

Dann guck' doch mal, ob die Datei vorhanden und zugreifbar ist für den Benutzer unter dem Du HardlinkBackup startest?!

happyhour4-
56
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 24, 2012, 13:17
Zitat

Die Datei liegt auf dem Desktop vom Administrator. Der Administrator führt das Backup aus. Und das Backup läuft ja auch, bis auf die Fehlermeldung, tadellos durch. Berechtigung habe ich überprüft: diese sind vorhanden.

happyhour4-
56
Neuling
Beiträge: 5
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 26, 2012, 09:39
Zitat

Backup 3:
nach 34 Minuten erfolgreich beendet.
Es wurden 873 Dateien (9,74 GB) kopiert und 239.213 Dateien (1,95 TB) verlinkt. Keine Fehler traten auf (siehe "R:\2012-10-24\backup_2012-10-24_23_59_37.log").

Backup 4:
nach 35 Minuten erfolgreich beendet.
Es wurden 597 Dateien (10,4 GB) kopiert und 239.802 Dateien (1,95 TB) verlinkt. Keine Fehler traten auf (siehe "R:\2012-10-25\backup_2012-10-25_23_59_36.log").

Mit der Dauer des Backups bin ich zufrieden. Was mich allerdings stört, ist, dass der HardlinkBackup.Service.exe sich immer mehr Arbeitsspeicher reserviert. Nach dem vierten Backup hat er jetzt schon 331 MB.

calimero
Neuling
Beiträge: 23
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 26, 2012, 10:04
Zitat

Aufgrund von Zeitmangel kann ich mich jetzt erst wieder zu Wort melden.

In der Zwischenzeit war ich allerdings nicht untätig. Ich habe mich dazu entschieden, mich von allen alten Backupsätzen zu trennen und nochmal wirklich von vorne anzufangen. In dem Zuge habe ich meine Platten/Daten so umorganisiert, daß ich nun nicht mehr auf eine externe USB-Platte sichere, sondern auf eine interne (also nun von SATA nach SATA). Einen wirklichen Geschwindigkeitsvorteil konnte ich allerdings nicht erkennen.

Einen deutlichen Geschwindigkeitsvorteil kann ich aber nun beim eigentlichen Hardlink-Backup vermelden. Das erste Initial-Backup dauerte natürlich etwas länger, aber die Folge-Sicherungen waren mit 40 Minuten erfrischend schnell und mit geringem RAM-Bedarf 🙂
(Zur Erinnerung: vorher bis zu 10 Stunden und 6 GB RAM-Belegung)

Zitat von lupinho am October 22, 2012, 16:50
Noch ein paar Gedanken zu Deinem Problem: Der Hauptspeicherbedarf sinkt auch, je weniger Backups Du zum Vergleich auswählst und je mehr davon mit Index gelesen werden. Bei der Umstellung Version 1 auf zwei wird leider kein Index der alten Version gelesen und es wird mit 3 Backupsätzen verglichen. Würdes Du nur mit einem Backupsatz vergleichen wäre das schon deutlich besser und vor allem sinkt der Speicherverbrauch beim darauffolgenden Backup. Der Grund ist folgender: Wird der Index verwendet, dann liest HardlinkBackup nur die Informationen im Indexfile und dort wird immer nur ein Link gespeichert (das reicht ja). Liest HardlinkBackup keinen Index, dann liest es alle(!) Hardlinks pro Datei ein, und das für jede Datei. Bei 3 zu vergleichenden Backupsätzen, bei denen jeweils 110 Hardlinks existieren, werden also 3x110=330 Hardlinks gelesen - das kostet Zeit und Platz. Liest Du nur einen Backupsatz ein, dann passiert das nur einmal. Liest Du ein Index-File ein geht's wesentlich schneller und kostet nur einen Bruchteil (1/110) des Platzes. Also versuche bitte am besten erstmal das erste Backup durchzuführen (z.B. mit den Einstellungen von oben) und dabei nur mit einem Backup zu vergleichen. Danach müsste es fluffig gehen...

Da scheint tatsächlich was dran zu sein 🙂

Allerdings finde ich nicht die Einstellung, bei der ich festlegen kann, daß er nur ein Index-File einliest . . .
Hier bräuchte ich nochmal einen kleinen Hinweis 😉

lupinho
Administrator
Beiträge: 713
Permalink
avatar
Beitrag Re: Version 2 langsamer und speicherhungriger?
am October 27, 2012, 17:35
Zitat

Ich meinte damit, dass Du nur ein Backup zum Vergleich wählst. Es wird mit alle grünen Backupsätzen verglichen. Durch Markieren/Demarkieren (Häckchen auf der Backupsatz-Kachel) der Backupsätze kannst Du beeinflussen, mit welchen Backupsätzen verglichen werden soll. Die neuesten 3 Backupsätze werden standardmäßig markiert. Über "Einstellungen" / "Ausführungsoptionen", dort "Anzahl der markierten Backupsätze für den Vergleich" kannst Du den Standard einstellen.

Seiten: 1 [2] 3
Mingle Forum by cartpauj
Version: 1.0.34 ; Die Seite wurde geladen in: 0.09 Sekunden.