Delphi-PRAXiS
Seite 1 von 2  1 2      

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 07:27


Bestimmung der Systemanforderungen
 
Moinse,

Vor ab wenn der Thread in der falsche Rubrik steht bitte einfach kurz in die richtige verschieben danke.

Ich werde in letzter zeit immer öfter gefragt "Was brauchen wir für PCs damit das das Programm läuft??"
Deswegen meine Frage: wie bestimmt ihr was ihr für PCs benötigt?
Ist das so eine "Pi mal Fensterkreuz" Berechnung oder kann man irgendwie "Objektiev" bestimmen?


Bei mir in dieses speziellen Fall geht es im Folgenden fall:
Eine FireBirdDatenbank von ca. 25 GB, ca. 85 Tabellen.
In jeder Nacht werden ca. 1,2 Mio. Datensätze aus Textdateien eingelesen aufgearbeitet und in der Datenbank gespeichert.
Anschließend werden ca 1-1,5 Mio. Daten Aktualisiert und wieder an viele Filialen gesendet.

Der Kunde ist zum HardwareHändler seine Vertrauens und hat sich einen Server Zusammenstellen lassen.
mit Intel-Celeron 2,6 Ghz 1 GB Ram 800Mhz Fsb. dieser PC soll dieses Datenmenge bin in 3-4 Stunden Bewältigt bekommen :gruebel:
(was schlicht und ergreifend unmöglich war der Rechner war nach 9, langen Stunden immer noch beschäftigt ^^) :wall:
Dieser Server soll Tagsüber noch ca. 10-15 Clients, die auf die Firebirddatenbank zugreifen, verwalten.

Wie kann ich die Systemvorraussetzungen am besten bestimmen/Berechnen?

Denn die Standardaussage einen Hardwarehändler ist "der Rechner reicht dicke^^“ „damit haben sie die nächsten 2-3 Jahre keine Geschwindigkeitsprobleme" oder ,mein persönlicher Favorit "der schafft das locker" und das ist leider mein ernst.

Oder ist die Bestimmung nur eine reine Gefühlssache? Wie Bestimmt ihr was ihr für PCs benötigt?
Das Programm Umfasst dieses Kommunikation, Lagerpflege, Auftragsbearbeitung, Arbeitszeiterfassung und vieles, vieles mehr.

Vielen dank schon mal im Vorraus.


mfg Pro_RJ / Jens

Bernhard Geyer 19. Mai 2008 07:37

Re: Bestimmung der Systemanforderungen
 
"1 GB Ram" bei einer Datenbank dieser Größe? Der Händler hat wohl 0 Ahnung von Datenbanken :-)
Da wird wohl die Datenbank permanent mit Laden und Speichern der Indizes beschäftigt sein.

Also: Deine DB ist aktuell 25 GB groß. Wichtiger ist aber wie groß alle Indizes grob werden. Entsprechend ist der RAM-Bedarf das möglichst alle Indizes ins RAM geladen werden können.

Ich würde sagen du kannst noch was "retten" wenn du sagen wir mal fürs erste 8 GB RAM reinsteckst und ein 64-Bit OS nimmst. Damit solltest du erstmal über die Runden kommen.

SirThornberry 19. Mai 2008 07:43

Re: Bestimmung der Systemanforderungen
 
Ich kenne es so das es Erfahrungswerte sind. Es stehen eigentlich immer noch irgendwo alte Rechner rum und da schaut man einfach ob das Programm drauf läuft. Wenn nun der älteste Rechner ein 2 GHZ und auf dem Rechner läuft das Programm wird das erstmal als Minimal angegeben selbst wenn es auch auf einem 1 GHZ Rechner laufen könnte.

hoika 19. Mai 2008 07:53

Re: Bestimmung der Systemanforderungen
 
Hallo,

bei Clients sage ich immer:
"Wenn Office läuft, läuft auch unser Programm"

beim Server, nunja
welche DB-Version ?

"fully populate your database" (aus 10 things to make interbase scream).

Du musst das ganz einfach testen.
Wobei es nicht einfach ist.
Von den MHz auf Power zu schätzen, ist Unsinn.
Du musst den Flaschenhals finden.

1. RAM
FB kann ab 2.0 (oder 2.1) mehr als 10000 Pages als Puffer benutzen
(vorher war das die empfohlene Größe)
Page-Size der DB in kB multipliziert mit Pages = RAM-Verbrauch der DB (Superserver)

1 GB als RAM bei einem Server, naja ;)

2. Prozessor
Superserver / classic schreibst du nicht
Superserver nutzt nur einen Prozessor, der andere (die anderen) langweilen sich

3. Platte
kann ein Flaschenhals sein
RAID5 ist langsamer, aber sicherer
beim RAID-Controller unbedingt den Schreibcache einschalten !
bei vorhandener USV kann auch "forced writes" auf False gesetzt werden

4. Programm
Du schreibst nicht, was konkret mit den Datensätzen abends erfolgt
a) Läuft das alles komplett in der DB ab (SP's)
b) Läuft das Programm auf dem Server
c) Läuft das Programm auf dem Client ?


Heiko

Alter Mann 19. Mai 2008 07:57

Re: Bestimmung der Systemanforderungen
 
Hi,

Ich gehe mal davon aus, dass das Ganze unter Windows läuft,
da gibt es den Leistungsmonitor, mit dem die entsprechenden Werte ausgelesen werden können.
Die CPU sollte unter Volllast nicht mehr als 75% ausgelastet sein, besser 70%.
Auf Grund der hohen Anzahl von Datensätzen die aus Textdateien(Viele?) eingelesen
werden, sollten die Plattenzugriffe nicht vernachlässigt werden(schreiben und lesen).
Wenn FB bei der Installation eigene Leistungsindikatoren einbringt, dann die, nach entsprechender
Auswahl, mitlaufen lassen.

Pauschal würde ich sagen quad-core CPU mit 8 GB RAM, 4 2.5" SAS Platten 73/146 GB 10000 RPM als Raid 5.

Das nennt sich dann 'Industrie Server' und ist nicht beim Händler 'um die Ecke' zu bekommen.
Mit Hinblick auf die verwendete Technik, sollte auf eine Garantie/Gewährleistung geachtet werden,
die auch jährlich verlängert werden kann. Kosten für alles mit 5 Jahren Gewährleistung(5x9) so um die 5 T€.

Gruß

PS Gute Systemhäuser stellen euch so ein Server zum Testen zur Verfügung und beraten auch, und das
ohne das ein Euro fließt.

DP-Maintenance 19. Mai 2008 08:28

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Windows API / MS.NET Framework API" nach "Programmieren allgemein" verschoben.
Ist hier sicher am besten aufgehoben.

hoika 19. Mai 2008 08:43

Re: Bestimmung der Systemanforderungen
 
Hallo,

bitte nach Datenbanken verschieben.


Heiko

Pro_RJ 19. Mai 2008 09:13

Re: Bestimmung der Systemanforderungen
 
Hi
Danke für die Antworten :
@Bernhard Geyer :
Ich werde die Größe der Indizes mal berechnen.
Der Server :
Ist ein Windows 2003 Server mit 4GB und 2 mal 3,2 Ghz Prozessoren. (die genauen Werte versuche ich nochmal zu bestimmen)

Der FB Server : - es ist die Version 2.0.1
- In der Classic Version

@hoika :
2.
Die Prozessorauslastung des FB kommt nicht über max. 30% und es arbeitet nur eine CPU (in der Config ist es so eingestellt dass alle genutzt werden sollen).
Selbst bei großen SQL-Auswertungen.

3.
"forced writes" ist Aktiv (zur Sicherheit. Wir haben es aber auch schon ohne getestet es macht nur sehr wenig unterschiede)

4.

Der Programmablauf :
1. Es werden per ISDN ca. 1000 Textdateien von den Filialen empfangen und auf der Festplatte gespeichert.
2. Diese Daten werden durchgearbeitet --> geprüft und anschließen per Insert in die Datenbank eingelesen.
3. Die Stammdaten werden Aktualisiert (per Insert und Update) hier laufen keine Trigger oder SPs.
4. Diese Daten werden aus der DB in Textdateien gespeichert und
5. wieder in die Filialen gesendet.

Im weiteren Schritt werden die Daten zu "richtigen AuftragsPositionen" d.h. Schreiben der Lagebestände uvm. Diese Pflege übernehmen in der Hauptsache Serverproceudren.

Dieser gesamte ablauf wurde vorher vom Haupsserver durchgeführt.
Aufgrund von Verbindungsproblemen zu den Filialen wurde ein "Kommunikationsserver" mit dem Intel-Celeron 2,6 Ghz 1 GB Ram eingeführt, der auch gleich die ganze Verarbeitung übernehmen sollte.

mashutu 19. Mai 2008 11:18

Re: Bestimmung der Systemanforderungen
 
Sorry, wenn ich mich einmische, aber:
Zitat:

Zitat von Pro_RJ
1. Es werden per ISDN ca. 1000 Textdateien von den Filialen empfangen und auf der Festplatte gespeichert.

ISDN
Zitat:

Zitat von Pro_RJ
In jeder Nacht werden ca. 1,2 Mio. Datensätze aus Textdateien eingelesen aufgearbeitet und in der Datenbank gespeichert.
Anschließend werden ca 1-1,5 Mio. Daten Aktualisiert und wieder an viele Filialen gesendet.

1,2 Mio Datensaetze in 100 Textdateien.
Also wenn ich mich nicht verrechnet habe schafft man mit ISDN in 10 Stunden 288 MB (brutto), womit pro Datensatz gerade mal 240 Zeichen verarbeitet werden.

Wenn Deine Datensaetze also groesser als (sagen wir mal) 200 Byte sind, duerft dies zumindest ein weiterer Flaschenhals sein.

Bernhard Geyer 19. Mai 2008 11:21

Re: Bestimmung der Systemanforderungen
 
Zitat:

Zitat von mashutu
1,2 Mio Datensaetze in 100 Textdateien.
Also wenn ich mich nicht verrechnet habe schafft man mit ISDN in 10 Stunden 288 MB (brutto), womit pro Datensatz gerade mal 240 Zeichen verarbeitet werden.

Wenn Deine Datensaetze also groesser als (sagen wir mal) 200 Byte sind, duerft dies zumindest ein weiterer Flaschenhals sein.

Gute Idee. Evtl. bringt es was die Dateien per ZIP/7z zu komprimieren und das Problem zu lösen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 Uhr.
Seite 1 von 2  1 2      

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