Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Verbindung zu fremden Server

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL Verbindung zu fremden Server

    Seit gegrüßt lieben PHP und MySQL Expterten,


    Ich hoffe ihr könnt mir bei meinem Problem weiterhelfen, welches ich jetzt schon seit langem nicht in den Griff bekomme.

    Ich habe zwei Server, und ich möchte vom einen Server per PHP auf die MySQL Datenbank des andere zugreifen. Das funktioniert soweit auch allerdings etwas langsam.
    Mein Problem ist, das alle MySQL Queries hintereinander über die selbe Verbindung an den MySQL Server gehen, was zurfolge hat, das wenn eine Abfrage langsam ist, die andere Abfragen warten müssen (führt dann oft zu Timeouts).

    Kann ich das irgendwie umgehen mit einer PHP oder MySQL Einstellung so das ich verschiedene PHP SQL Queries simultan vom MySQL Server bearbeiten lassen kann?


    Vielen Dank schonmal im Voraus,

    Uwe

  • #2
    ...

    Kommentar


    • #3
      Hallo, leider hilft mir das nicht wirklich, da es sich bei meiner Datenbank um ständig aktualisiertem Inhalt hällt.
      Gibt es keine Möglichkeit, mehrere Verbindungen zur selben Datenbank aufzubauen, die auf unterschiedlichen Datenbank Threads arbeiten?

      Um mein Problem genauer zu schildern:

      Angenommen ich habe 3 unterschiedliche Queries, die all jeweils 3 Sekunden brauchen um ausgeführt zu werden.
      Die 3 unterschiedlichen Queries werden jeweils in unterschiedlichen PHP Dateien ausgeführt. (z.B. q1.php, q2.php, q3.php).

      Zur selben Zeit führen 3 unterschiedliche Anwender jeweils eines dieser PHP Scripte aus.

      Mein Problem ist: einer der 3 Anwender muss dann 9 Sekunden warten, bis das Script ausgeführt wurde, weil das Script auf die anderen Scripts warten muss bis das Querirs dort ausgeführt wurde.

      Kann man das nicht irgendwie optimieren?

      Kommentar


      • #4
        Hi,

        Mein Problem ist: einer der 3 Anwender muss dann 9 Sekunden warten, bis das Script ausgeführt wurde, weil das Script auf die anderen Scripts warten muss bis das Querirs dort ausgeführt wurde.

        Kann man das nicht irgendwie optimieren?
        Der Server ist ja der gleiche, also bringt dir das nix, wenn du 3 mal eine Verbindung aufbaust. Dann hast du ja noch länger.

        Wenn du mehrere Server hast, dann kannst du die Querys an die Server verteilen. Wie du die Query schreibst ist dir ja wohl bekannt.

        Evt. könnte man noch allfällige SELECT * durch die benötigten Daten ersetzen etc.

        Fg

        Kommentar


        • #5
          Zuerst solltest du vielleicht ein paar Informationen loswerden warum die Querys so langsam sind, ist der andere server was cpu / ram angeht langsam ? sind deine querys vielleicht nicht optimiert ? ist die verbindung zu dem server vielleicht langsam und es dauert einfach zu lang die Daten rüberzuziehen ? Ist die Datenmenge die das Query überträgt recht hoch ?

          Wie die anderen schon gesagt haben, wen ein query XX zeit braucht weil du irgendwo ein bottleneck hast, bringt es nur in wenigen fällen etwas das mit mehreren Verbindungen (die ja noch zusätzliche Resourcen fressen) zu verbessern. Mehrere Verbindungen und damit Querys gleichzeitig machen eigentlich nur Sinn wenn der externe Server mehr als eine CPU/Core hat und mysql die auch nutzt.

          Kommentar


          • #6
            Zitat von Xanatus Beitrag anzeigen
            Mein Problem ist: einer der 3 Anwender muss dann 9 Sekunden warten, bis das Script ausgeführt wurde, weil das Script auf die anderen Scripts warten muss bis das Querirs dort ausgeführt wurde.
            Dein Problem hat überhaupt nix mit PHP zu tun. PHP baut für jede Instanz eine eigenen Verbindung zur Datenbank auf und die Queries werden auch quasi parallel ausgeführt. Dein Problem liegt bei der Datenbank selbst...

            Schau mal was in so einem Moment "SHWO FULL PROCESSLIST" sagt.

            Kommentar

            Lädt...
            X