Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Bestimmung der Systemanforderungen (https://www.delphipraxis.net/114049-bestimmung-der-systemanforderungen.html)

Pro_RJ 19. Mai 2008 13:53

Re: Bestimmung der Systemanforderungen
 
Die Textdateien kommen einzeln in einen Komprimierten Format.
Filiale kommen zwischen 100 und 300 Kb (Komprimiert)
dieses Werden zu ca 800kb bis 1,2Mb (Was aber ein richtig großer bericht ist).

Ein Bsp : einer "normalen" Filiale
13 Dateien
Komprimiert : ca 160 KB
Entpackt : ca 790 KB
Datensätze : ca 28000

Es gibt einige die deutlich größer sind undk einige die Kleiner sind.

also die Dateien sind denke ich nicht das problem da diese über 4 ISDN Kanäle gleichzeitig empfangen werden.
Diese Textdateien werden abgearbeitet :

1. die Zeile in die Einzelnen Infos aufgeteielt wird
2. es werden noch Werte aus der DB nachgetragen, die nicht übertragen worden sind
3. Per insert in die Datenbank geschrieben.

Dieses Vorgang benötigt die meiste Rechnenleistung.

Anschließend werden die Stammdaten der Filialen auf dem Rechner Aktualisiert --> wieder in solche Textdateien Exportiert --> diese Werden Komprimiert und an die Filialen gesendet (Auch wieder über 4 ISDN-Kanäle)




PS: Ich arbeite schon seit geraumer Zeit daran diesen Vorgang des Empfangen,Verarbeiten,LagerPflege usw. Stammdaten aktualisieren, Senden
in Threads aufzuteilen so das bis zu 5 Filialen gleichzeitig abgearbeitet werden können. Nur das benötigt ja eigentich einen noch deutlich stärkeren Server.

shmia 19. Mai 2008 14:03

Re: Bestimmung der Systemanforderungen
 
Zitat:

Zitat von Pro_RJ
... Per insert in die Datenbank geschrieben.
Dieses Vorgang benötigt die meiste Rechnenleistung.

Wird jeder INSERT einzeln abgesendet oder mehrere Hundert Inserts auf einen Rutsch ?
Beim MS SQL-Server habe ich die Erfahrung gemacht, dass es leistungsfördernd ist, wenn man ungefähr 500 bis 1000 Inserts in einer Stringliste sammelt und dann gemeinsam absendet.
Die einzelnen Statements werden dabei über einen Strichpunkt getrennt.

Pro_RJ 19. Mai 2008 14:12

Re: Bestimmung der Systemanforderungen
 
Es wird immer eine Zeile nach der Anderen abgearbeitet.
Zeile Lesen Insert in db
Zeile Lesen Insert in db
Zeile Lesen Insert in db ......

aber die Idee muss ich mal testen

Bernhard Geyer 19. Mai 2008 14:33

Re: Bestimmung der Systemanforderungen
 
Und nicht vergessen prepared Statements zu verwenden. Bringt auch ein paar Prozent. Optimal ist es das noch mit dem Tipp von shmia zu verbinden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz