Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?! (https://www.delphipraxis.net/64785-delphi-prog-multiprozessor-win2003%3Dehlend-lahm.html)

Duke_2004 8. Mär 2006 08:59


Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?!
 
Servus...

Wir programmieren auf Arbeit mit Delphi und Interbase/Firebird... Jetzt haben wir eines unserer Programme auf einem Terminalserver (Win2003) laufen, der mit 2 Pentium Prozessoren + HT und 4GB Ram ausgestattet ist. Alles noch schön und gut, aber das Programm läuft auf dem Server bei weitem langsamer als auf einem Single-PC mit nur einem Prozessor...

Ein umstellen der Einstellungen im Firebird/Interbase auf Multiprozessorbetrieb brachte auch keine Leistungssteigerung.

Direkt alles in Threads verlagert bzw. in extra Prozessen ist meines wissens nichts in dem Programm...(Ich habs ja net geschrieben ^^)

Wollt nur mal fragen ob jemand schonmal so etwas erlebt hat bzw. was man tun könnte um das Programm zu beschleunigen...

FriFra 8. Mär 2006 09:04

Re: Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?!
 
Tja, die Multiprocessor Architektur nützt Dir IMHO wenig, wenn das Programm nur einen einzigen Thread verwendet... Wenn dann noch der Server ein wenig mehr Auslastung hat, als ein normaler Arbeitzplatzrechner, dann wirds eben langsamer :?

mkinzler 8. Mär 2006 09:05

Re: Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?!
 
Der FB-SuperServer ist nicht MP-fähig. Du kannst ihn aber an einen bestimmten Prozessor binden. Der FB-ClassicServer ist zwar MP-fähig dank der seit Win200 fehlenden POSIX-unterstützung seitens Windows aber extrem inperformant.
IB 7.5 ist meines wissens mp-fahig. Firebird wird es mit FB 3.0 oder VULCAN.

Duke_2004 8. Mär 2006 09:11

Re: Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?!
 
Das mit der MP-Unterstützung von Firebird/Interbase kann man ja irgendwo in einer .conf Datei glaub ich einstellen... Hat aber auch nix gebracht und ist ja auch egal... In erster Linie geht es ja um das Programm an sich.

Ab Win2003 dürfen ja Prozesse auch keine 100% CPU mehr bekommen, sondern maximal 50%.
Würde es denn wirklich so viel schneller gehen, wenn man zum Bsp. eine Datenbankerstellung in einen eigenen Thread auslagert? Das Programm soll ja während dieser Zeit eh nicht genutzt werden und ein aufteilen in versch. Threads ist ja bei so einer Sache auch net unbedingt sinnvoll?

(Und mir wurde mal gesagt, dass SQL-Zugriffe (Interbase-Komponenten) nicht Thread-Sicher sind?!)

Duke_2004 9. Mär 2006 09:26

Re: Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?!
 
Hmm, schade eigentlich... Hat denn sonst niemand irgendwelche Erfahrungen in dieser Richtung gemacht? Oder werden in den Firmen noch nicht so sehr MP-Rechner mit Delphi Programmen verwendet...

Vielleicht findet sich ja noch der Ein oder Andere, der eine Aussage dazu machen kann... :-)

Elvis 9. Mär 2006 10:34

Re: Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?!
 
Zitat:

Zitat von Duke_2004
Ab Win2003 dürfen ja Prozesse auch keine 100% CPU mehr bekommen, sondern maximal 50%.

Wo hast du denn das her?
Du hast 2 Prozessoren, ist einer voll ausgelastet ergibt das 50% Systemauslastung... :roll:

Ein Terminalserver ist schon mit seinen Sessions genug ausgelastet, ein so CPU intensives DBMS wie FB/IB darauf zu fahren macht ihn sicherlich nicht schneller. ;)
Packe die DB auf eine 2. Maschine, das sollte für den Anfang schonmal einiges bringen.
Zitat:

Würde es denn wirklich so viel schneller gehen, wenn man zum Bsp. eine Datenbankerstellung in einen eigenen Thread auslagert? Das Programm soll ja während dieser Zeit eh nicht genutzt werden und ein aufteilen in versch. Threads ist ja bei so einer Sache auch net unbedingt sinnvoll?
Multi threading auf MPs oder HT kann ja nur mehr Performance bringen wenn du tatsächlich mehre Dinge gleichzeitig erledigst. Auf einem Terminal server hast du aber dann n * Sessions Threads am Werkeln, wobei dir die Verwaltung der Prozesse/Threads irgendwann die Zyklen auffrisst.

Du hast übrigens nicht gesagt wieviele gleichzeitige Terminal sessions dort max. auftreten.
2 CPUs können bei einer zu aufwendigen App zuwenig sein, wenn 10 Leute drauf arbeiten. ;)

Duke_2004 9. Mär 2006 11:30

Re: Delphi-Prog+Multiprozessor+Win2003=ehlend lahm?!
 
Das seh ich doch mal als eine Erklärung an, die man auch mal jemandem unter die Nase halten kann... ^^

Das Mit den 50% sagte einer unserer Techniker (der hat aber Urlaub, sonst hät ich ihn gefragt wo er es her hat), entschuldige meine Unwissenheit. ^^ Aber auch wenn man sich die Auslastung aller 2 (mit HT 4) CPU's im Taskmanager ansieht steigt der Wert (wenn nur das eine Programm läuft) nie über 50% pro CPU...

Der Rest macht natürlich Sinn ^^

Also erstmal Thx für die Antwort(en) ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr.

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