Results 1 to 6 of 6

Thread: ClientDataset, applyupdates over trage verbinding

  1. #1

    ClientDataset, applyupdates over trage verbinding

    Beste NLDelphi,

    Ik heb een applicatie gemaakt en lokaal op kantoor getest.
    Een MySQL databse benader ik via de een ClientDataset, Datasetprovider en een Query. Dit doe ik via DBX componenten.

    Enfein, het werkt allemaal prima en snel. Tenminste, lokaal. Als ik de MySQL database op internet zet gaat het echter, soms, mis.

    Ik maak eerst een tunnel via Putty. Delphi denkt dus dat de database lokaal staat. Als ik veel updates moet applyen, gaat het soms mis. Er wordt dan een paar megabyte over internet verzonden en soms blijft hij haken of gebeurd er niets meer.

    Weet iemand wat de beste methode is als je veel gegevens wilt updaten over een trage verbinding (internet bij ons max 100 kb upload per seconde). Moet ik een applyupdates om de 100 x instellen, moet ik met losse query's werken of weet iemand bepaalde instellingen van MySQL die er wellicht voor zorgen dat de boel sneller/stabieler gaat?

    Mijn dank is groot,

    Rogier

  2. #2
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Welke connectie maakt putty?
    Ik zal in ieder geval niet een applyupdates() per 100 keer uitvoeren, maar gewoon per keer.
    Hoe bedoel je met losse queries. Als ik een OpenVPN tunnel opzet vanuit een klant, dan heb ik 100.000 records van 30 kolommen in 20 seconden. Zelf vind ik 100 kb / niet echt langzaam.
    Delphi is great. Lazarus is more powerfull

  3. #3
    Putty, een standaard SSH verbinding en dan een Tunnel: L3306 --> 127.0.0.1:3306

    Met losse queries bedoelde ik eigenlijk bij elke update een applyupdates. De routine kan ik ook maken zonder een clientdataset maar met elke keer een update of insert query uit te voeren.

    Het valt me op dat vooral de applyupdates soms tijd kosten. In de regel gaat het niet zo heel erg snel, maar soms lijkt het echt even wat langer te duren.

    Als ik de applyupdates poer 100 uitvoer gaat het in ieder geval goed:-)
    Ik ben een beetje bang dat het een MySQL dingetje is. Helaas heeft dat zo gigantisch veel parameters en opties.... dus dat zal wel zoeken worden.

    Rogier

  4. #4
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Is het niet een index issue. Wat gebeurt er lokaal. Is het dan wel snel genoeg?
    Delphi is great. Lazarus is more powerfull

  5. #5
    Even uit mijn hoofd gezegd is er niet eens een index of anders hooguit een uniek nummer index.
    De server op de zaak waarmee ik heb getest is wel veel, veel krachtiger...... maar nog steeds, het gaat om relatief weinig updates.

    Vroeger heb ik ooit eens een probleem gehad, toen moest ik DNS lookup uitzetten op de server en toen ging alles weer snel.

    Hoe test u of MysQL aan zijn limiet zit? Ik heb de SAdministrator en dara zie je wat grafiekjes.... maar de meeste slaan niet eens rood uit...

    Alvast bedankt voor tips!

    Rogier

  6. #6
    John Kuiper
    Join Date
    Apr 2007
    Location
    Almere
    Posts
    8,747
    Ik heb de SAdministrator en dara zie je wat grafiekjes....
    Ik gebruik die tool niet, dus kan daar niet over mee spreken.

    Als je een ip-adres gebruikt, wordt DNS niet aangeroepen.
    Bedoel je met een uniek nummer index de primary key met auto increment?
    Dat zou op zich geen problemen moeten leveren met performance, omdat MySQL dan jouw update opzoekt in de index en niet in de tabel zelf.

    Ik ben zelf nog niet overgestapt naar DBExpress, omdat ik nogal ruzie hebt met de CDS.
    Maar het kan natuurlijk ook een combi zijn van DBExpress en libmysql.dll

    Test eens met de componenten van Devart. Heb je daar dezelfde problemen mee?
    Delphi is great. Lazarus is more powerfull

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •