Mögliche Optimierungen bei langsamem Datenimport

  • Hallo!
    Ich habe mich mal mit dem Import der Kursdaten beschäftigt. Wie wir wissen geht das ziemlich langsam von statten.
    Allgemein ist mir aufgefallen:
    Der SQL Server 2008 R2 ist die Express Version. Dadurch werden maximal 1GB Arbeitsspeicher benutzt. [Eine größerer Arbeitsspeicher bringt also nichts]. Es wird ein Prozessor aber 4 Prozessorkerne benutzt [Da kann man was tun]. Die Datenbank ist auf 10 GB begrenzt [Da ist noch was Platz].
    Das Importtool (DPRead.exe) wird mit geringer Priorität ausgeführt [Da kann man was machen].
    Beim Import finden Festplattenzugriffe bei der SQL-Datenbank und auf die Kursdatenbank (im WB-Börse Verzeichnis [timedata] statt [Da kann man was machen].
    Die Internet Security Programme können das importieren ausbremsen [Da kann man was machen].


    Folgende Änderungen habe ich an meinem System (Windows 7 64) durchgeführt:
    Windows benutzt standardmäßig nur einen Prozessor. Über das Tool „msconfig“ habe ich auf zwei Prozessorkerne umgestellt. Ob der Prozessor mehrere Kerne hat, kann man mit „taskmgr“ erkennen.
    Vorgehen Prozessorkerne umstellen:

    • Msconfig.exe starten
    • Registerkarte Start
    • Erweiterte Optionen
    • Option Prozessoranzahl Häkchen setzen
    • Zwei-Kern-Prozessor auswählen
    • Computer neu starten.

    Die Auslagerungsdatei habe ich auf eine andere Festplatte (nicht andere Partition!) verschoben und die Größe verändert.
    Zuerst der lange Aufruf: 
    Systemsteuerung/ System/ Erweiterte Systemeinstellungen/ Reiter Erweitert/ [Bei Leistung] auf Einstellungen klicken/ Reiter Erweitert/ [Virtueller Arbeitsspeicher] auf Ändern Klicken

    • Deaktivieren: Auslagerungsdateigröße für alle Laufwerke automatisch verwalten
    • Laufwerk C: auf „keine Auslagerungsdatei“ ändern
    • Anderes physisches Laufwerk auswählen
    • Aktivieren der Option: Benutzerdefinierte Größe
    • Anfangsgröße und maximale Größe: 20000 (sind 20GB für ein 4GB RAM-System)
    • Butten „Festlegen“ drücken
    • Computer neu starten

    Security Programme Firewall
    Hier unbedingt den Tipp der Wissensbasis Firewall umsetzen.
    Für Norton

    • Einstellungen/ Intelligente Firewall/ Programmregeln/ DPRead.exe und den sqlservr.exe auf zulassen setzen
    • Allgemein/ Silentmode/ DPRead.exe und den sqlservr.exe für den Ruhemodus einsetzen
    • Computer/ Antivirus und Sonar Ausnahmen/ Ausschlüsse in Echtzeit/ Serverpfad für WBInstance, und die Pfade ProgramData\Wiso Börse 2013\local\download und X:\Wiso Börse 2013\data\timedata ausschließen.

    DPRead: Nach dem Aufruf des Datenimports hab ich über den „taskmgr“ die Priorität von gering auf hoch gesetzt. Normalerweise kann man über einen Schlüssel in der registry das automatisch einstellen. Das hat aber nicht funktioniert – ein Ticket ist eingereicht. Ich werde dann berichten.
    Bei den Importparametern in WB habe ich die Häkchen bei den Zertifikaten open, high, low entfernt.


    Bei Beobachtung des Datenimports ist mir einiges aufgefallen. Die Zugriffe auf die Windowsauslagerungsdatei (pagefile.sys) sind gering. Der SQL-Server wird durch die Begrenzung auf 1GB ausgebremst. Die CPU-Auslastung ist am Anfang sehr hoch, wird dann aber, durch hohe Auslastung der Festplatte, ausgebremst. WB sollte daher auf eine andere (physische!) Festplatte installiert werden, damit der SQL-Server und die Kursdatenbank auf verschiedenen Festplatten liegen. So werden die Festplattenzugriffe optimiert. Das bietet sich bei der Umstellung auf WB14 an.



    Edit 01 am 12.01.2014 (das hatte ich vergessen)
    Von Zeit zu Zeit entstehen Fehler in der Datenbank (warum auch immer). Daher sollte man, mindestens vor jeder Datensicherung, die Datenbank einer Komplettwartung unterziehen.
    Das geht mit: Windows-)Start > Programme > WISO Börse 20xx> Support-Center > Datenbank-Werkzeug
    oder über eine Desktopverknüpfung auf: X:\WISO Börse 20xx\bin\MMDBTool.exe
    Zuerst die "Datenbank kompaktieren" und dann die "Komplett-Wartung" durchführen.


    Gruß -Hoffentlich war das nicht zu lang- Wolfgang

  • Hallo!
    Der Bericht nach meiner Anfrage beim Support wegen der Priorität von DPRead.exe.


    Zitat von Buhl Support

    Das Nadelöhr ist nicht der Prozess für den Import. Das Nadelöhr ist die Geschwindigkeit Ihrer Festplatte. Die CPU Priorität des Prozesses zu erhöhen ist somit ohne großen Effekt auf den Import, da die Auslastung des Prozessors und Arbeitsspeichers durch den Prozess zu vernachlässigen ist. Die Schreib- und Lesegeschwindigkeit der Festplatte ist der neuralgische Punkt im Datenimport der WISO Börse. Generell kann die Performance des Programms deutlichst mit der Nutzung einer SSD Festplatte optimiert werden.

    WB sollte daher auf eine andere (physische!) Festplatte installiert werden, damit der SQL-Server und die Kursdatenbank auf verschiedenen Festplatten liegen. So werden die Festplattenzugriffe optimiert. Das bietet sich bei der Umstellung auf WB14 an.


    Weiter wird empfohlen:

    Zitat von Buhl Support

    Öffnen Sie das Verzeichnis C:\ProgramData\WISO Börse 2014\Local\download\da\mdp im Windows Explorer und löschen Sie den Inhalt dieses Ordners.

    Sofern konfiguriert (Datenaktualisierung einrichten, Reiter Aktionen, Häkchen bei "Dateien nach dem entpacken löschen" setzen) werden die xxxx.zip Dateien vom Programm gelöscht. Evtl. vorhandene Daten nach dem abgeschlossenem Import (xxxx.dp) werden automatisch vor dem nächsten Import gelöscht. Da braucht man nicht einzugreifen.


    Und nochmal der Hinweis: Unbedingt die Änderungen bei den Internet Security Programmen durchzuführen!


    Gruß Wolfgang

  • Hallo!
    Nochmal zur Datenbank-Kompaktierung und zur Komplettwartung!


    Die heutige Datenaktualisierung hat 4Stunden 20Minuten gedauert. Außerdem war auch der Aufbau der Depots in WB13 langsam. Also habe ich die Datenbank kompaktiert.


    Das Ergebnis der Kompaktierung:


    Datenbankgröße vorher: 3,037,331,456 (also etwa 3GB)
    Neue Datenbankgröße nachher: 2,088,566,784 (etwa 1GB weniger)


    Also ab und an mal darüber laufen lassen :thumbsup:


    Gruß Wolfgang