AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism Schlechte Performanc von dbExpress unter .Net
Thema durchsuchen
Ansicht
Themen-Optionen

Schlechte Performanc von dbExpress unter .Net

Ein Thema von OMLune · begonnen am 25. Okt 2006 · letzter Beitrag vom 27. Okt 2006
Antwort Antwort
OMLune

Registriert seit: 21. Mär 2006
Ort: Bremen
5 Beiträge
 
Delphi 2006 Professional
 
#1

Schlechte Performanc von dbExpress unter .Net

  Alt 25. Okt 2006, 08:26
Datenbank: Oracle • Version: 9i • Zugriff über: dbExpress / ADO.Net
Hallo,
wir haben seit der Umstellung von Delphi 8 auf Delphi 2006 massive Performanceprobleme mit dbExpress für Oracle.
Da unser Kunde eigentlich erwartet, dass mit dem neuen dbExpress Treiber die Anwendung eher schneller wird, stehen wir vor einem Problem.

Tests haben ergeben, dass jeder Zugriff auf auf ein Feld eines SQLQueries einen mehrfachen aufruf von unmanaged Code erzeugt. Dieser Overhead bremst natürlich die Anwendung aus. Wir wundern uns nur, das der Unterschied zwischen D8 und D2006 so extrem ist.

Ein Vergleich mit ADO.Net war ebenfalls erschreckend. für die selben Datenmenge benötigt dbExpress 4 Minuten, während ADO.Net nur 40 Sekunden brauchte.

Kann man noch etwas an den Treiber einstellungen optimieren?
Die Verwendung einer fremdkomponente fällt aus, da der Kunde nicht bereit ist noch mehr Geld auszugeben.
Wenn es keine Lösung gibt, werden wir auf ADO.Net umstellen müssen.

Vielleicht habi Ihr ja Ideen.
Es gibt schlimmere Dinge als Delphi 8, mir fallen nur keine ein.
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: Schlechte Performanc von dbExpress unter .Net

  Alt 25. Okt 2006, 12:16
Hallo,
eine klare detaillierte Antwort kann ich nicht geben. Ich habe aber gelernt, dass für alles, was Borland mit Delphi mitliefert und an NET angepasst hat, Wrapper gebildet wurden und NET nur über solche Zwischenschichten (vermutlich - fast - immer unmanaged code) angesprochen wird.

Solche Probleme wirst Du vermutlich nur dadurch umgehen können, dass Du ausschließlich NET-eigene Klassen verwendest. (Das ist eine der Voraussetzungen, warum ich statt Delphi jetzt mit C# arbeiten kann.)

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Schlechte Performanc von dbExpress unter .Net

  Alt 25. Okt 2006, 15:28
Zitat von OMLune:
Kann man noch etwas an den Treiber einstellungen optimieren?
Vermutlich auf neue Delphi-Version warten. Dort sollen die BDP und dbExpress-Treiber zusammgenfaßt werden und Borland muß nur noch die Hälfte der Treiber pflegen.

Zitat von OMLune:
Die Verwendung einer fremdkomponente fällt aus, da der Kunde nicht bereit ist noch mehr Geld auszugeben.
OK. Für 100-200 $ würde ich auch lieber mehrere Tage an den nicht optimalen Borland-Providern herumdocktern

Zitat von OMLune:
Wenn es keine Lösung gibt, werden wir auf ADO.Net umstellen müssen.
'Ne gute Alternative. Aber besorg dir dafür auch einen Vernünftigen ADO.NET-Provider und fall nicht auf den Oracle Provider von MS herein. Diese sind i.d.R. (war es unter ADO.Win32) nur Teststudien und nur für winzigste Anwendungen geeignet.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
OMLune

Registriert seit: 21. Mär 2006
Ort: Bremen
5 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Schlechte Performanc von dbExpress unter .Net

  Alt 26. Okt 2006, 09:34
Das mit den Kosten ist hier so eine Sache ... Softwarelizenzen werden bei uns dem Kunden direkt in Rechnung gestellt, daher will er dass natürlich nicht zahlen. Die Wartung wird aber über eine Pauschale abgerechnet, daher ist es für Ihn günstiger zu sagen: "Das ist euer Problen, früher ging es doch auch!"

Diese Diskussion gab es schon bei Tools für <50€. Da waren wir als Entwickler schon kurz davor die Software aus privater Tasche zu bezahlen.

Wir vergleichen natürlich auch unsere Stundensätze und die Kosten von Komponenten und weisen immer darauf hin, dass wir das Rad nicht neu erfinden müssen, sondern auch mal eins kaufen könnten. Aber wie gesagt, ist hier nicht ganz einfach.

Was mich bei der Sache mit dbExpress ärgert ist, dass es unter Delphi 8 deutlich schneller ging. Jetzt mit Delphi 2006 und dem neuen Treiber ist es deutlich schlechter geworden.

Ich Frage mich, ob Borland absichtlich dbExpress unter .Net verschlechtert, damit die Leute auf die BDP-Schiene aufspringen?

Wir haben jetzt auch mal direkt bei Borland nachgefragt, mal sehen was sich da ergibt.

Gruß,
Olaf
Es gibt schlimmere Dinge als Delphi 8, mir fallen nur keine ein.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Schlechte Performanc von dbExpress unter .Net

  Alt 26. Okt 2006, 09:45
Zitat von OMLune:
Das mit den Kosten ist hier so eine Sache ... Softwarelizenzen werden bei uns dem Kunden direkt in Rechnung gestellt, daher will er dass natürlich nicht zahlen.
Solche Lizenzen stellt ihr euren Kunden in Rechnung? Und wenn ihr für jemand anderen diese Komponenten auch verwenden wollt müßt ihr diese nochmal kaufen. Die Lizenz gehört euch ja nicht.

Zitat von OMLune:
Die Wartung wird aber über eine Pauschale abgerechnet, daher ist es für Ihn günstiger zu sagen: "Das ist euer Problen, früher ging es doch auch!"
Würde ich als Kunde genauso machen. Wenn ihr intern neue Compiler oder sonstiges Einsetzt darf es keinen so gewaltigen Rückschritt bedeuten (hier Performance).

Zitat von OMLune:
Diese Diskussion gab es schon bei Tools für <50€. Da waren wir als Entwickler schon kurz davor die Software aus privater Tasche zu bezahlen.
Nicht aus privater Tasche. Aber das muß doch im normalen Budget der Ausstattung eines SW-Entwicklers drin sein. Ein Maurer wird ja auch nicht für jede neue Kelle oder Hammer oder Bohrmaschiene dem Auftraggeber diese in Rechnung stellen.

Zitat von OMLune:
Was mich bei der Sache mit dbExpress ärgert ist, dass es unter Delphi 8 deutlich schneller ging. Jetzt mit Delphi 2006 und dem neuen Treiber ist es deutlich schlechter geworden.

Ich Frage mich, ob Borland absichtlich dbExpress unter .Net verschlechtert, damit die Leute auf die BDP-Schiene aufspringen?
Ich vermute eher das bei Borland nicht genügend Manpower vorhanden ist/war um die Treiber auch wirklich in einem astreinen Zustand zu halten. Nicht umsonst will (laut Aussage auf der EKON) Borland dbExpress und BDP auf eine gemeinsame Treiber-Schiene bringen um nicht doppelten Aufwand treiben zu müssen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
OMLune

Registriert seit: 21. Mär 2006
Ort: Bremen
5 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Schlechte Performanc von dbExpress unter .Net

  Alt 26. Okt 2006, 10:40
Na ja, wie gesagt hier ist alles anders.
Ich arbeite bei einem Outsourcer nur für einen Kunden. Dieser Kunde möchte, dass ihm alle Lizenzen gehören, da er ja evtl. den Outsourcer mal wechseln will. Kann ich aus seiner Sicht auch verstehen, macht aber die Anschaffung extrem kompliziert.

Ich hätte auch geren ein Budget aus dem ich Tools und Komponenten kaufen könnte, würde einiges vereinfachen.

Hab gerade mal die Treiber von CoreLab ausprobiert. Sind zwar schneller als die von Borland, aber gegenüber ADO.Net immernoch sehr langsam. Die Geschwindigkeit kommt aber schon an das ran, was wir unter Delphi 8 auch hatten.
Es gibt schlimmere Dinge als Delphi 8, mir fallen nur keine ein.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Schlechte Performanc von dbExpress unter .Net

  Alt 26. Okt 2006, 10:49
Zitat von OMLune:
Ich arbeite bei einem Outsourcer nur für einen Kunden. Dieser Kunde möchte, dass ihm alle Lizenzen gehören, da er ja evtl. den Outsourcer mal wechseln will. Kann ich aus seiner Sicht auch verstehen, macht aber die Anschaffung extrem kompliziert.
Kann es sein das hier ein paar BWL'er die Sache verkomplizieren. Getreu nach dem Motto: Sparen wir, koste was es wolle.

Ihr macht also Auftragsarbeit für einen Kunden, dem danach die SW-Quellcode gehört. Dazu gehört m.E. das ihr dokumentiert welche Zusatzkomponenten benötigt werden (die verwendeten Installer evtl. beilegt) mit dem Hinweis das bei Übernahme der Entwicklung inhouse diese auch Lizenziert werden müssen.

Das jetzige Konstrukt wird vermutlich mit einigen Lizenzbedingungen von mancher Kaufkomponente nicht übereinstimmen (vor allem wenn es sich um Side-Lizenzen handelt). Euch (der Outsource-Firma) gehört aber schon der PC an dem Ihr Arbeitet und die Delphi-Lizenz? Oder handelt es sich um Abteilungen die zwar früher zur gleichen Firma gehörten und der einzige Unterschied zu früher (zusätzlich zu vielen Problemen) ist das du dein Gehalt + Lohnzettel von einer anderen Firma bekommst.

Zitat von OMLune:
Hab gerade mal die Treiber von CoreLab ausprobiert. Sind zwar schneller als die von Borland, aber gegenüber ADO.Net immernoch sehr langsam. Die Geschwindigkeit kommt aber schon an das ran, was wir unter Delphi 8 auch hatten.
Selbst habe ich bei CoreLabs nur den Performancevergleich für MySQL. Und dort sind sie das schnellste was man bekommen kann.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
OMLune

Registriert seit: 21. Mär 2006
Ort: Bremen
5 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Schlechte Performanc von dbExpress unter .Net

  Alt 27. Okt 2006, 09:48
Ne, uns gehört an diesem Arbeitsplatz gar nichts. Wir sitzen sogar im Gebäude des Kunden.
Das ist an anderen Standorten nicht so, aber wie gesagt hier ist Alles anders.

Die Delphi-Lizenz für 2006 haben wir aber emdlich mal über unsere Firma gekauft. War etwas günstiger, da es einen Partnervertrag gibt. Zum Glück haben wir auch den Support-Vertrag abgeschlossen, so dass wir hoffentlich von Borland eine Antwort bekommen.
Es gibt schlimmere Dinge als Delphi 8, mir fallen nur keine ein.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 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