FraFu: Linux und Priorität (nice)

Hallo!

Ich habe einen Webserver der täglich in der Nacht Backups von den Apache Webverzeichnissen und den MySQL Datenbanken macht.
Dazu verwende ich tar und mysqldump.

Wenn diese Prozesse laufen ist der Webserver extrehm lahm.
Jetzt hab ich mir gedacht ich rufe die tar bzw. die MySQLdump Prozesse  einfach mit der niedrigsten Priorität auf und nutze dazu nice.

nice -n19 tar -cxvf .......

Prinzipell funktioniert das. Aber ich werde aus der manpage nicht schlau welchen Wert ich eigentlich für eine niedere Priorität vergeben muss.

Abgesehen davon - ist mein Ansatz überhaupt sinnvoll?

mfg
  frafu

  1. Hallo FraFu.

    nice -n19 tar -cxvf .......

    Prinzipell funktioniert das. Aber ich werde aus der manpage nicht schlau welchen Wert ich eigentlich für eine niedere Priorität vergeben muss.

    Siehe Wikipedia.

    Einen schönen Dienstag noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
    1. Hallo!

      nice -n19 tar -cxvf .......

      Prinzipell funktioniert das. Aber ich werde aus der manpage nicht schlau welchen Wert ich eigentlich für eine niedere Priorität vergeben muss.

      Siehe Wikipedia.

      Ok danke! Dh ich liege richtig, dass nice -n-19 die Priorität ganz runter schraubt?

      Der erzielte Effekt ist bei mir allerdings kaum zu bemerken. Kann es sein, dass das Bottleneck einfach der I/O Durchsatz ist der von nice nicht betroffen ist weil sich nice nur auf die CPU auswirkt?

      mfg
        frafu

      1. Hallo!

        Ok danke! Dh ich liege richtig, dass nice -n-19 die Priorität ganz runter schraubt?

        Mist! Ich meinte
        nice -n19 sollte die Priorität ganz runter drehen.

        mfg
          frafu

      2. Hallo FraFu.

        nice -n19 tar -cxvf .......

        Prinzipell funktioniert das. Aber ich werde aus der manpage nicht schlau welchen Wert ich eigentlich für eine niedere Priorität vergeben muss.

        Siehe Wikipedia.

        Ok danke! Dh ich liege richtig, dass nice -n-19 die Priorität ganz runter schraubt?

        Nein, genau anders herum:

        A nice value of -20 is the highest priority and 19 is the lowest priority.

        Der erzielte Effekt ist bei mir allerdings kaum zu bemerken. Kann es sein, dass das Bottleneck einfach der I/O Durchsatz ist der von nice nicht betroffen ist weil sich nice nur auf die CPU auswirkt?

        Ansatzmöglichkeiten gibt es viele, wie auch andere Prozesse, zu langsame Festplatten, etc. Sollte ein Umstellen der Priorität nicht helfen, wirst du dahingehend wohl weitersuchen müssen.

        Einen schönen Dienstag noch.

        Gruß, Mathias

        --
        ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
        debian/rules
      3. Der erzielte Effekt ist bei mir allerdings kaum zu bemerken.

        Hmm..wie ist es eigentlich mit Prozessen, die von dem geniceten Prozess angestossen werden? Erben die die gesetzte Priorität?

        Beispiel:

        nice backup.sh

        stößt ein langwieriges mysqldump und ein anschliessendes tar an. Vielleicht ist ja nur der mikrige shell Skript genicet und die anderen Prozesse lasten die Maschine immer noch voll aus?

        Cruz

        1. Hallo!»»

          Hmm..wie ist es eigentlich mit Prozessen, die von dem geniceten Prozess angestossen werden? Erben die die gesetzte Priorität?

          Beispiel:

          nice backup.sh

          stößt ein langwieriges mysqldump und ein anschliessendes tar an. Vielleicht ist ja nur der mikrige shell Skript genicet und die anderen Prozesse lasten die Maschine immer noch voll aus?

          Eigentlich müssten nach meinem Verständnis alle davon aufgerufenen Prozesse auch denselben Wert bekommen.
          Ich hab aber den nice Befehlt im Backupscript direkt vor das tar und vor das mysqldump gestellt. Damit sollte das Problem nicht auftreten.

          mfg
            frafu

        2. Hi,

          Der erzielte Effekt ist bei mir allerdings kaum zu bemerken.

          Hmm..wie ist es eigentlich mit Prozessen, die von dem geniceten Prozess angestossen werden? Erben die die gesetzte Priorität?

          ja, die Subprozesse haben die gleiche Priorität.

          Aber das löst (hier)wohl nicht das Problem.
          Ich denke, hier ist der Flaschenhals der IO.
          Eine Lösung könnte vielleicht so aussehen, daß man es durch gzip laufen läßt, was ja sicher auch sinnvoll ist.
          Da gzip dann wiederum viel Prozessorlast benötigt, sollte sich _dann_ das nice auswirken.

          nice -n 19 mysqldump -u<user> -p<password> <tabelle> | gzip -c | cat > dump.sql.gz

          Gruß
          Reiner