Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi FB-Server-Zugriff über DSL langsam (https://www.delphipraxis.net/125727-fb-server-zugriff-ueber-dsl-langsam.html)

hoika 10. Dez 2008 14:47

Datenbank: FB • Version: 1.5 • Zugriff über: BDE

FB-Server-Zugriff über DSL langsam
 
Hallo #,

ich schreibe gerade an einer Replikations-Software.
Auf dem Laptop läuft mein Programm,
der Laptop geht über DSL ins Internet auf einen FB-Server,
der ebenfalls über DSL im Netz hängt.

Problem:
Der Zugriff ist sehr zäh (um es mal freundlich auszudrücken).

pro replizierten Datensatz wird voreinfacht folgendes gemacht
remote : FB-Server
local : Laptop


remote : select * from table where id=:xxx
local : insert/update/delete into table

Ich kann die einzelnen Datensätze förmlich durch das Kabel kriechen sehen ;)
edit: 45 sec für 70 Datensätze.


Dazu noch ein Frage:
beim Insert prüfe ich vorher mit
SQL-Code:
select count(*) from table where id=:xxx
, ob der Datensatz nicht schon drin ist.
Ein

SQL-Code:
Select 1 from rdb$database where Exists(select id from Table where id=:xxx)
ist noch langsamer (sollte das nicht schneller sein ?)


Was für Möglichkeiten habe ich, das schneller zu machen ?

Danke

Heiko
PS: Die Datenbank-Schnittstelle auszutauschen, bringt nix.

mkinzler 10. Dez 2008 14:54

Re: FB-Server-Zuigriff über DSL langsam
 
Aber vielleicht ein Update auf FB2:
-Optimierter Netzwerkzugriff
-Und 'Update or Insert into ...'!
Das Tunneln/Komprimieren der Verbindung (Zedebee/stunnel) könnte auch eine Verbesserung bringen

Bernhard Geyer 10. Dez 2008 14:55

Re: FB-Server-Zuigriff über DSL langsam
 
Welche Ping-Zeiten zum Server-Rechner hast du?
Kannst du Fast-Path beantragen?
Wie träge ist eine Rechnerfernsteuerung per Remote Desktop?

hoika 10. Dez 2008 15:10

Re: FB-Server-Zuigriff über DSL langsam
 
Hallo,

- optimierter Netzzugriff gibt es doch ab 1.5 ?
- FastPat5h -> soll später beim Kunden laufen
k.A., was der dann aht
- Ping zwischen 1 ms und <10 ms
- Insert Or Update bringt nix,
weil ich ja genau weiss, was ich machen muss
(das select count(*) ist wichtig wegen Konflikt-Erkennung)
- RDP kann ich zur Zeit nicht prüfen
Ich teste gerade lokal (Server + Client auf gleichen Rechner + gleiche DB),
verbinde mich aber mit dem DynDNS-Namen

Ich werde erst mal ausprobieren, was ein preparen der remote-Query (select * from) bringt,
ist aber nicht so einfach, weil ich theoretisch für jede Tabelle eine
eigene prepared Query bräuchte.



Heiko

mjustin 10. Dez 2008 17:25

Re: FB-Server-Zuigriff über DSL langsam
 
Zitat:

Zitat von hoika
verbinde mich aber mit dem DynDNS-Namen

Ich bin kein TCP/IP Experte, aber könnte es etwas bringen, vor dem beim ersten Verbindungsaufbau zuerst die numerische IP Adresse, die über DynDNS geliefert wird, zu ermitteln und dann für die folgenden Connects zu benutzen?
Vielleicht ist die Auflösung des Namens auf die IP Adresse zeitaufwendig.

hoika 10. Dez 2008 17:48

Re: FB-Server-Zugriff über DSL langsam
 
Hallo,

danke, aber ich mache nur ein Connect.
Ich glaube, da war auch mal was mit

SQL.Add()
SQL.Add()
SQL.Add()

ersetzen durch ein (komplettes) SQL.

Mal sehen.


Heiko

mjustin 10. Dez 2008 17:57

Re: FB-Server-Zugriff über DSL langsam
 
Zitat:

Zitat von hoika
Was für Möglichkeiten habe ich, das schneller zu machen ?

Ohne zu prüfen ein Insert versuchen: die Datenbank wird sich wehren, falls der Satz schon existiert, in allen anderen Fällen spart man ein Select.

Größere Datenpakete (jeweils z.B. immer zehn Sätze) verarbeiten könnte auch helfen, und eine Transaktion darum legen - die beschleunigt zusätzlich (da der Verwaltungsoverhead eher abnimmt).

Hansa 11. Dez 2008 03:48

Re: FB-Server-Zugriff über DSL langsam
 
Wichtig ist schon mal das hier :

SQL-Code:
execute block
Aber erst ab FB 2.0 vorhanden. Das reduziert den Traffic um Faktor 5-10 oder mehr. Am besten diesen Block mit IBExpert anlegen. Als Zugriffskomponenten zur Unterstützung ist mir nur FIBplus bekannt. Angeblich gibt es noch was über UIB.

mkinzler 11. Dez 2008 06:38

Re: FB-Server-Zugriff über DSL langsam
 
Da Heiko (noch) mit der BDE arbeitet fällt das leider aus.
BTW. IBDAC unterstützt das natürlich auch.

hoika 11. Dez 2008 06:51

Re: FB-Server-Zugriff über DSL langsam
 
Hallo,

das mit dem Execute Block sieht ja gar nicht so schlecht aus.
FIBPlus liegt hier rum ... blöde Altlasten ;(

Mal schauen.


Heiko

Hansa 11. Dez 2008 13:17

Re: FB-Server-Zugriff über DSL langsam
 
Das Phänomen dürfte jedenfalls nicht an der Verbindung liegen. 10 ms ist nicht viel. Die australische www.bmw.com.au sagt hierzu per ping 375 ms oder gar Zeitüberschreitung. Bei www.bmw.de sind es <60 ms. Wenn der Effekt sogar im LAN auftritt, dann stimmt da was nicht. Router ? Oder auch hier wieder BDE ? :mrgreen:

Gucke auch mal noch nach den IBExpert-Videos (Leipzig 2008). Holger Klemt geht da genauer auf die Problematik ein.

Angel4585 11. Dez 2008 13:38

Re: FB-Server-Zugriff über DSL langsam
 
Was für eine Anbindung hat denn der Server und wieviele Daten werden übertragen?
Wenn der Server bei dir privat läuft kann es natürlich gut sein das es asynchrones DSL ist, in dem fall hättest du einen recht niedrigen Upstream

hoika 11. Dez 2008 15:24

Re: FB-Server-Zugriff über DSL langsam
 
Hallo,

habe DSL 6000, mehr weiss ich nicht ;)

Ich bin gerade dabei,
Query-Caching einzubauen (prepared Query wird in Liste gespeichert und wiederverwendet).

Wird gerade immer schneller ...


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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