Bonjour,
je viens de ne rendre compte que j'ai un fichier log qui pese 12Go !!
-rw-r--r-- 1 mysql mysql 13861294240 2016-05-12 12:10 mysql-slow.log
Du coup je voudrais le réduire en conservant les dernières lignes.
J'ai pensé
tail -n 1000 mysql-slow.log > mysql-slow.log
mais ca ne passe pas?
# Normal
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 4.
Ça, c'est normal, tu es en train d'essayer de lire et d'écrire un même fichier en même temps, ce qui ne peut que donner un résultat imprévisible.
Pour faire ce genre de chose, il y a l'outil
sponge
des moreutils.[^] # Re: Normal
Posté par gotcha5832 . Évalué à 3.
sinon je pensais à le faire en 2step
tail -n 10000 mysql-slow.log > mysql-slow_reduc.log && mv mysql-slow_reduc.log mysql-slow.log
[^] # Re: Normal
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 3.
C'est ce qui fait
sponge
à ce que j'ai compris, donc c'est équivalent.# prendre le probleme dans le bon sens
Posté par NeoX . Évalué à 2.
ne devrais-tu pas parler à ton DBA pour voir quelles sont les requetes qui sont lentes et qui remplissent le log ?
car visiblement il se remplit encore puisque la date est celle du jour…
1°) tu reduiras drastiquement la taille du fichier
2°) tu amelioreras la vitesse d'execution des requetes qui justement sont "slow"
# les bons indicateurs ne doivent pas être trop gros
Posté par freem . Évalué à 2.
Enfin, c'est ce qu'on m'a dis un jour en cours de gestion de je ne sais plus quoi.
En tout cas, un truc du genre.
L'idée, c'était que pour surveiller des process (d'entreprise, pour le cours) il fallait des indicateurs, mais que trop d'indicateurs fait que personne ne les consulte, ou qu'ils sont mal interprétés.
Bien que j'aie détesté ces cours, pour diverses raisons, l'idée est très pertinente, et au final, l'accent était pas mal mis sur l'idée qu'une entreprise/un service, ce ne sont que des process avec des flux de données.
Exactement pour un logiciel (pour moi qui suis dev) ou pour un serveur (pour toi qui est admin).
Bref, si ton fichier de log est trop gros, regarde si:
1: tu ne log pas trop, ce qui rend le log inutile car jamais lu, ou pas interprété correctement
2: le problème ne viens pas du processus qui émets l'indicateur?
Et une fois que tu auras traité l'alerte (fichier trop gros), tu pourras peut-être l'archiver ou le supprimer, quitte à le faire sur une base automatique. Il me semble que logrotate est fait pour ça.
# logrotate
Posté par kna . Évalué à 2.
Comme dit plus haut, il faut que le fichier serve à quelque chose. Vu le nom du fichier, il doit s'agir d'un journal des requêtes lentes.
# tout à fait
Posté par gotcha5832 . Évalué à 0.
@neox @freem @kma
Je vous remencie et je suis d'accord avec vous aucune raison de collecté autant de data.
Le souci est que je l'ai mis en place, avec un temps trop bas et sans logorate.
J' ai été pris par des urgences. puis ca met sortie de la tete
# question
Posté par gotcha5832 . Évalué à 1.
voici ma config
soit un temps minimal pour enregistrer la requete de 20s?
hors mysqlslow me retourne
Count: 1 Time=0.06s (0s) Lock=0.02s (0s) Rows_sent=0.0 (0), Rows_examined=710.0 (710), Rows_affected=0.1 (0),
ou
Count: 5 Time=0.00s (0s) Lock=0.00s (0s) Rows_sent=1.0 (5), Rows_examined=220.4 (1102), Rows_affected=0.0 (0),
ont est pas à 20S???
[^] # Re: question
Posté par syntaxerror . Évalué à 1.
http://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html
La valeur par défaut est "off" et n'est pas précisée dans ta config, mais essaie
log-queries-not-using-indexes = 0
pour en supprimer le logging ou bien pour le limiter par exemple
log_throttle_queries_not_using_indexes = 10
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.