Laden...

Wie kann man die Performance in ODP.NET verbessern?

Erstellt von sindibad vor 3 Jahren Letzter Beitrag vor 3 Jahren 506 Views
S
sindibad Themenstarter:in
110 Beiträge seit 2012
vor 3 Jahren
Wie kann man die Performance in ODP.NET verbessern?

verwendetes Datenbanksystem: <Oracle 11>
Hallo zusammen,
wir schreiben Daten mit einer c# Applikation mit odp.net (Oracle Client 11.2) in einer Oracle Datenbank(6 Tabellen). wir haben die Zeiten von dem Schreiben in der Datenbank gemessen.
Lokal, wo der Oracle Server ist, sind die Zeiten OK unter 1 sekunde
von Standorte, die kein Oracle Server haben in Deutschland oder Europa, dauert es von 7 bis 14 Sekunden.
wir haben jetzt mit Stored Proceduren und Array binding auch getestet aber wir haben die erwünschte Optimierung nicht erreicht. ich fürchte dass man nichts optimieren kann weil es Netwerkzeiten eine Rolle spielt. wir haben gemerkt dass, trotz array binding im Netwerk einzele Pakete zum Server gesendet werden und auf Antwort gewartet.
habt ihr noch andere Tips, um die Performance zu verbessern in ODP.NET?

vielen Dank im Voraus

5.657 Beiträge seit 2006
vor 3 Jahren

Wenn euer Netzwerk langsam ist, hat das nichts mit der Oracle-DB zu tun. Das betrifft dann auch andere Verbindungen zu den Servern, und das kann man erstmal messen, bevor man wild spekuliert...

Weeks of programming can save you hours of planning

T
2.219 Beiträge seit 2008
vor 3 Jahren

Ohne Code oder Details kann man kaum Aussagen treffen.
Welche Antwort erwartest du?

Anbei wäre dann auch interessant wie der Code, der hier langsam sein könnte oder die Ursache, aussieht.
Ebenfalls wären Fakten hilfreich.

  1. Wie sind die Standorte zu euch angebunden? VPN oder gar unsecure über normale Leitung?
  2. Um welche Datenmengen geht es? 10MB oder 1GB?
  3. Werden die Daten z.B. per Insert gesendet oder kommt ein Bulk Insert zum Zug?
    3.1. Geht es überhaupt um Inserts oder andere Anweisungen bzw. generelle Ausführungszeiten?
    3.2. Werden auch Parameter verwendet oder schreibt ihr die Werte Roh in den SQL String?
  4. Wie habt ihr die Zeiten gemessen?
    5.Greift ihr mit ADO .NET auf die DB zu oder nutzt ihr einen OR Mapper wie EF?

Ohne solche Details kann euch sonst keiner helfen oder ggf. einen hilfreichen Hinweis geben.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.