[gull] Optimisation Mysql
Martial Guex
m.guex at mutech.ch
Thu Mar 10 03:32:02 CET 2005
On Wednesday 09 March 2005 17.46, Blaise Vogel wrote:
> Bonjour,
>
> Je suis en train d'optimiser Mysql pour gérer de grosses requêtes. Le but
> étant d'éviter l'écriture par Mysql de tables temporaires sur le disque =>
> chute de perfomance. Mysqladmin m'indique '... Copying to tmp table'
> Selon leur doc, il suffirait d'augmenter la valeur de tmp_table_size. Ce
> que j'ai fait, ayant un peu de marge j'ai mis 500M. Suffit pas !
>
> Question 1:
> Quelles paramètres faut-il modifier pour éviter la création de table
> temporaire ?
tmp_table_size est en faite la limite mémoire ram des tables temporaires, il
est possible qu'une dimension trop grande entraine du swap sur disque, ce qui
est toujours cata question perfo.
C'est un SELECT,UPDATE, INSERT ?
Tu utilise UNION ?
T'a du filtrage ?
Tu trie ?
C'est quoi comme type de table MyISAM, BDB etc?
Il ne faut pas oublier que le client peut avoir des tables temporaires.
> Question 2: (découlant de 1)
> Ou Mysql crée ces tables temporaires ? Histoire de voir la taille de ces
> fichiers. Pas dans /tmp il est vide
Normalement c'est des fichier caché dans /tmp, verifie.
> Question 3: (découlant de 2)
> Comment savoir quelles fichiers sont en cours de lecture/écriture par un
> processus ?
lsof
>
> Remarque: je viens de faire des 'df' durant l'exécution d'une requête. Pas
> de modification !
Il est probable que les fichiers temporaires ne changent pas souvent de
dimension après le premier appel de grosse reqête, ceci afin d'éviter
d'impliquer trop l'OS et d'éviter la fragmentation des fichiers.
Martial Guex
More information about the gull
mailing list