PHP MySql sehr langsam nach Server wechsel

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

  • PHP MySql sehr langsam nach Server wechsel

    Hallo ich bräuchte Hilfe,

    ich möchte von einem alten Win2003 Server (Baujahr 2004 "IBM xSeries226") auf einen neuen Ubuntu 18.04 server (Baujahr 2012 "IBM x3500 M4") wechseln.
    Der neue Server ist auch schon installiert (alles selbst installiert)
    -Ubuntu 18.04 LTS
    -Apache2
    -PHP 5.6
    -Mysql 5.7.25-0ubuntu0.18.04.2

    Bis hier hin erst mal alles okay und arbeitet auch alles.

    Jetzt kommt das Problem:
    Wenn ich Daten importieren oder Abfragen machen möchte ist der neue Server super langsam wenn es über PHP läuft. Ich hab jetzt schon ein paar Wochen lang gegoogelt und viele dinge ausprobiert, aber jetzt weis nicht mehr weiter.

    hier die beiden Server im vergleich:
    Import ohne PHP direkt über die Mysql Console
    alter Server: 5,8 Sekunden
    neuer Server: 2,5 Sekunden

    Wenn ich das gleiche über php mache:
    Alter Server: 58 Sekunden
    neuer Server: nach 5 Minuten bricht phpMyAdmin ab und hat gerade mal 9.500 Datensätze von 80.000 importiert
    Daher tippe ich auch auf ein Problem mit PHP

    info: Error log von php/mysql war immer leer (nichts dazu gekommen nach einem Testlauf)

    Was ich bis her versucht habe:
    -Server erneut installiert
    (auch zwischen durch immer wieder mal, nach vielem installieren und deinstallieren)
    -php7.2
    -php5.6
    -MariaDB
    -MysqlDB
    -Die php.ini Datei beider Server verglichen (war aber alles gleich)
    -Arbeitsspeicher für PHP und Mysql erhöht
    -unterschiedliche phpMyAdmin Version probiert.
    -das oben genannte in verschiedenen Kombinationen versucht

    Mir fällt nichts mehr ein. Der neue Server ist von der Hardware X mal schneller als der alte Server. (auch der System Monitor zeigte wenn max eine Auslastung von 1,5 bis 2,5 % der CPU an, der alte hat da schon eher 25% der CPU genutzt.
    Daher vermute ich eine Einstellungssache)

    Wo könnte ich anfangen zu suchen.
    Oder hat jemand das auch schon mal gehabt und kann mir sagen was das Problem ist.

    Für Ideen und Tipps währe ich echt dankbar.

  • #2
    phpMyAdmin eignet sich auch nicht wirklich für große Imports. Mach sowas besser auf der Command Line.

    Kommentar


    • #3
      Hallo danke für die Antwort :-)


      das hab ich auch schon probiert .. über nein eigenes geschriebenes script zum import!



      Mein Script über die Shell aufgerufen:
      alter Server: 58 Sekunden
      neuer Server: nach 1 Stunde abgebrochen "von mir" und immer noch nich alles importiert



      wollte das (mein Script) extra weg lassen.
      Um zu Zeigen das ich keine doofen Programmier fehler gemacht habe und hab es ja auch über verschiedene PHP wie phpMyAdmin versionen versucht.


      der Alte server war immer in max 1 Minute mit der Datei fertig
      der neue Server .. noch nich mal na 1 Stunde.


      (außnahme direkt über die mysql shell)


      Aber greiffe halt nun mal über PHP auf die Datenbank zu.

      Kommentar


      • #4
        Wie sieht die CPU- und Speicherauslastung aus?

        Kommentar


        • #5
          Hallo die Auslastung sieht so aus:

          CPU: 0,9% - 1,8% (Ruhezustand ist 0,7%)
          Arbeitsspeicher: 5,1% (Ruhezustand ist 4,9%)

          Kommentar


          • #6
            Du weisst nicht wirklich was du da tust oder?

            Mit top oder htop bei laufendem Import nachsehen, wo das Problem steckt und dann entsprechend die Logs hochschrauben und Details ansehen.

            Kommentar


            • #7
              nich wirklich,
              hatte halt damals denn alten Server mit Win2003 und php, apache und mysql
              auch installiert. Und der lief halt direkt vernünftig. (Für meine Verhältnisse)

              hier die angaben von htop
              apache2: Dauer 4 Minuten CPU max 2%, MEM 0,2 %
              mysql: CPU im Durchschnitt 1,3% (max für ne Sek. 9,3%), MEM 1,3 %
              der Server hat 16 GB MEM

              Welche Logs sollte ich mir anschauen?
              kenne:
              /var/log/apache2/error.log oder error.log.1
              (hier sind nach dem Test keine Meldungen dazu gekommen)
              Einstellung in der php.ini sind
              ; log_errors
              ; Default Value: Off
              ; Development Value: On
              ; Production Value: On
              und hatte es auch mal so laufen lassen:
              ; log_errors
              Default Value: On
              Development Value: On
              Production Value: On

              /var/log/mysql/error.log
              (hier genau so bzw letzter Eintrag heute 9 Uhr "ready for connections")

              Sollte ich mir da noch andere logs ansehen?

              Kommentar


              • #8
                Wie die Namen error.... schon sagen liegen in den Logfiles wohl nur Fehlermeldungen.

                htop lässt sich schön nach CPU-Last sortiert ausgeben, da sieht man gleich, ob und welcher Dienst bzw Subprozess CPU frisst.

                http://localhost/server-status hilft den Apache zur Laufzeit zu analysieren und eventuelle Ressourcen-Fresser im Apache zu finden.

                für langsame queries gibt es ein eigenes logging. ein kleiner Abriss, was man machen kann hier:
                MySQL Log File aktivieren - Error vs. Query vs. Slow Query

                bzw etwas detaillierter hier
                https://dev.mysql.com/doc/refman/8.0...query-log.html


                ps.
                ich mag die Thomas Krenn Seiten ganz geren, da gibt es auch etwas zum Thema Mysql-Performance
                https://www.thomas-krenn.com/de/wiki...ormance_Tuning da wird auf ein Perlscript zum Tunen verwiesen, das kann helfen Engpässe zu finden.

                pps
                Ich vergass, ich nutze mariadb, sollte das bei dir auch so sein, hier zum slow_query_log in mariadb
                https://www.cyberciti.biz/faq/how-to...og-linux-unix/

                Ach ja, cool, dass du wenigstens zugibst "Ahungslos" zu sein, die meisten streiten herum. Schon deshalb gehört dir geholfen... ;-)
                Zuletzt geändert von SysOp; 02.05.2019, 14:27.

                Kommentar


                • #9
                  Hallo

                  dir schon mal danke für deine Mühe werde mir das alles mal übers WE und nächste Woche durchlesen und mal schauen was ich so finde.

                  Hab auch noch ein paar eigene Ideen denen ich nachgehen werde.

                  kann also ein paar Tage dauern bis ich mich hier wieder melde.

                  bis hierhin schon

                  Kommentar

                  Lädt...
                  X