mysql renicen?

MySQL, PostgreSQL, SQLite
root-maxel
Posts: 43
Joined: 2003-05-08 13:18

mysql renicen?

Post by root-maxel » 2003-06-20 16:11

Hallo!

Ich will die Priorität von mysql etwas runtersetzen (wird kaum benutzt) und hab mal dazu ne Frage:

mysqld ist bei mir ist bei mir mit 5 verschiedenen PIDs gestartet, muss ich die alle renicen oder wie mach ich das am besten?

danke

thorsten
RSAC
Posts: 732
Joined: 2003-02-01 13:14
Location: Fuldatal

Re: mysql renicen?

Post by thorsten » 2003-06-21 18:45

als mysql (oder root ) solltest du alle mysqld´s hochsetzen (also einen Wert größer null vergeben).

Der mysqld mit der kleinsten PID ist in der Regel [1] die Mutter der anderen mysql-Prozesse und wird seinen nice-Wert an weitere Kinder weitergeben.

Als User mysql kannst du die Werte nur erhöhen, wenn was schief gegangen sein sollte, kann nur root die Werte verringern, oder ihnen negative Werte geben.

[1] der grsec-Kernel-patch hat eine Option für die zufällige Verteilung der PIDs

root-maxel
Posts: 43
Joined: 2003-05-08 13:18

Re: mysql renicen?

Post by root-maxel » 2003-06-22 16:26

Hmm..das funktionier leider nich so richtig. Ich hab das Startscript mal so angepasst:

case "$1" in
'start')
# Start daemon
echo -n "Starting MySQL database server: mysqld"
nice -n +7 /usr/bin/safe_mysqld > /dev/null 2>&1 &
for i in 1 2 3 4 5 6; do
if is_mysqld_alive; then break; fi
sleep 1
done
if is_mysqld_alive; then
echo "."
else
echo "...failed."
fi
;;

Leider bekommt dann nur der safe_mysqld den nice +7..die Kindprozesse mysqld (5 Stück) haben weiterhin 0

Hat jemand ne Idee?

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: mysql renicen?

Post by oxygen » 2003-06-22 16:39

Ich frag mich gerade wo der Sinn sein soll. Wenn der MySQL Server eh nichts zu tun hat, verbraucht er auch kaum Resourcen... CPU zumindest nicht. Nicen lohnt sich nur wenn man Missioncritical Anwendungen auf einer stark benutzten Maschine hat.

root-maxel
Posts: 43
Joined: 2003-05-08 13:18

Re: mysql renicen?

Post by root-maxel » 2003-06-22 16:57

das is so..da läuft ein Gameserver drauf...die Statistiken dieses Servers gehen in die mysql. Ich will aber, das der Gameserver auf jeden Fall mehr Ressourcen bekommt als der Rest.

safe_mysqld hab ich gerade gesehen, is ja auch nur ein wrapper..also konnte das ja nich gehen mit meiner startscript veränderung.

Allerdings weiss ich auch nich wo ich das in safe_mysqld eintragen sollte.

Ich hab jetzt einfach ein renice für alle Prozesse des users mysql gemacht, das funktioniert auch. Ich muss halt dran denken wenn ich den server mal neustarte... :lol:

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: mysql renicen?

Post by oxygen » 2003-06-22 17:17

Dann wäre es Zweckmäßig gewesen, den Gameserver hoch zu nicen :wink:

root-maxel
Posts: 43
Joined: 2003-05-08 13:18

Re: mysql renicen?

Post by root-maxel » 2003-06-22 17:37

komisch..jeder sagt was anderes: man hat mir geraten NIE Prozesse in den minusbereich zu nicen sondern immer nur die unwichtigeren hochzunicen

+x is doch niedrigere Priorität oder?? so stehts jedenfalls im man zu nice...

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: mysql renicen?

Post by oxygen » 2003-06-22 17:43

Ja, -20 ist das höchste... Das sollte man wirklich nie vergeben. Aber -5 bis -10 sind für einen Gameserver schon Ok. Hatte ich zumindest nie Probleme mit.