Optimiser utilisation du serveur par MySQL

Optimiser utilisation du serveur par MySQL - SQL/NoSQL - Programmation

Marsh Posté le 17-11-2005 à 10:05:17    

Salut
J'utilises MySQL 4.1.9 et j'ai un petit pb  (tables MyISAM)
Lorsque je lance une requete couteuse je remarque que seulement une faible partie de mon CPU et de ma memoire sont utilisees ce qui fait qu'elles sont tres longuesalors que les perfs pourraient etre bien meilleures
 
en fait j'ai modifie quelques variables de mon My.cnf de la maniere suivante:
 
set-variable = read_buffer_size=20M
set-variable = sort_buffer_size=50M
set-variable = join_buffer_size=10M
set-variable = key_buffer_size=256M
set-variable = read_rnd_buffer_size=15M
set-variable = bulk_insert_buffer_size=32MB
 
mais ca apas l'aire de trop aider
 

Reply

Marsh Posté le 17-11-2005 à 10:05:17   

Reply

Marsh Posté le 17-11-2005 à 10:57:28    

...et c'est pas tout connement ton disque qui en chie? :??:


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-11-2005 à 11:25:40    

Manque pas des index ?

Reply

Marsh Posté le 17-11-2005 à 11:50:58    

non c'est indexe a mort
 
et mes disques sont neufs

Reply

Marsh Posté le 17-11-2005 à 11:56:32    

neufs ou pas ils peuvent quand même être le facteur limitant en cas de requête couteuse...[:skeye]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 17-11-2005 à 11:57:11    

et puis justement je fais tout pour avoir un minimum d'acces disque
j'ai un serveur avec 1GO de RAM qusiment exclusivement dedie a MySQL , y'aurait pas des parametres a augmenter pour gagner en efficacite? (un equivalent MyISAM du innodb_buffer_pool_size par exemple)

Reply

Marsh Posté le 17-11-2005 à 11:57:47    

skeye a écrit :

neufs ou pas ils peuvent quand même être le facteur limitant en cas de requête couteuse...[:skeye]


ouais c'est vrai mais justement je veux limiter les acces disques au max

Reply

Marsh Posté le 17-11-2005 à 14:18:19    

Reply

Marsh Posté le 17-11-2005 à 15:15:46    

dans mon cas je pense que le cache de requetes m'aiderait pas trop vu que je ne lance quasiment jamais les memes requetes

Reply

Marsh Posté le 17-11-2005 à 21:43:01    

bon juste pour info j'ai trouve comment mieux exploiter ma ram
en rajoutant dans ma conf memlock
cette option dit en fait a MySQL de ne pas utiliser de swap mais la RAM tant que possible
ma memoire est plus utilisee mais les requetes vont pas plus vite :(

Reply

Marsh Posté le 17-11-2005 à 21:43:01   

Reply

Marsh Posté le 18-11-2005 à 01:14:53    

Penses pas essayes :) Si t'as jamais la même requête ok mais si t'as parfois une requête identique si au lieu de mettre 0.005s ça mais 0.001s c'est déjà ça si c'est des requêtes de malade qui se comptent en seconde :)

Reply

Marsh Posté le 18-11-2005 à 07:19:35    

j'ai une base extremement volumineuse et qui va  tendre a grossir (millions de lignes dans les tables)
donc la moindre modif peut avoir un enorme impact sur les perfs et j aimerais pas me planter

Reply

Marsh Posté le 20-11-2005 à 02:17:05    

Le cache ne changera rien aux perfs si ce n'est en mieux :)
Toute reqûete connue est maintenue en mémoire et dès modification elle vire :)
 
Tu peux qu'y gagner, sauf si vraiment t'as jamais une requête identique, là ça sert à rien au pire ;)

Reply

Marsh Posté le 20-11-2005 à 03:16:44    

leflos5 a écrit :

Le cache ne changera rien aux perfs si ce n'est en mieux :)


Heuuu [:pingouino]
 
Aux dernières nouvelles c'est pas magique un cache, ça a un coût statique, et ça n'a de l'intérêt que si ce que ça rapporte est supérieur au coût inhérent à l'utilisation du cache [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 20-11-2005 à 07:08:03    

leflos5 a écrit :

Le cache ne changera rien aux perfs si ce n'est en mieux :)
Toute reqûete connue est maintenue en mémoire et dès modification elle vire :)
 
Tu peux qu'y gagner, sauf si vraiment t'as jamais une requête identique, là ça sert à rien au pire ;)


je pense pas que tu aies raison
rien que pour juger si il est opportun d'utiliser le cache ou non il y a certainement deja un cout au moment de l execution de la requete
et etant donne que je ne realise jamais 2 requetes strictement identiques...


Message édité par betsamee le 20-11-2005 à 07:09:09
Reply

Marsh Posté le 20-11-2005 à 13:43:45    

Bah faudrait tester sur une grosse base avec une requête couteuse mais à mon avis, au delà de la mémoire ça doit pas couter grand chose.
 
Maintenant c'est ce que je dis depuis le début, si t'as pas une requête identique 2 fois ça sert à rien.
 
Maintenant si t'as éventuellement de temps en temps 2 fois la même chose et surtout si c'est des trucs costauds.
 
JE comprends pas pourquoi tu veux même pas essayer pour voir? Si ça apporte rien ou que ça ralenti tu désactives et ça changera rien :)

Reply

Marsh Posté le 20-11-2005 à 14:12:54    


ne serais-ce pas le SGBD en lui même qui poserais problème :/ ?  
 
je travaille sous Oracle/SQL Server donc je ne connais pas les réactions de mysql face à une grosse quantitée de données mais je me pose cette question car j'ai lu a plusieurs endroits (comme beaucoup) que mysql n'etait pas destiné a un volume de données important
 

Reply

Marsh Posté le 20-11-2005 à 14:25:23    

Mysql est pas forcément mauvais sur la quantité, c'est qu'il est pas franchement adapté aux clients lourds, et que faut s'adapter un peu à son mode de fonctionnment. Sinon ça gère très bien, la preuve en est tous les forums monstrueux en taille qui rament pas plus que ça ;)

Reply

Marsh Posté le 20-11-2005 à 16:15:21    

non question volume MySQL tient vraiment la route (je bosse pour une societe qui a une autre bdd extremement solicitee sous MySQL (environ 60 gigas) et qui fonctionne tres bien)
pour le cache j'ai essaye et effectivement y pas de difference de perfs sur de tres lourdes requetes

Reply

Marsh Posté le 21-11-2005 à 18:22:04    

bon des ptites nouvelles :
le memlock effectivement ca augmente l'utilisation de la memoire mais ca va pas forcement + vite
de plus ca fait foirer un paquet de trucs sur mon serveur qui ont aucun lien ave MySQL a priori

Reply

Marsh Posté le 22-11-2005 à 02:06:49    

:D Si le cache sert à rien et le serveur limite en ram ouais :)
Si ça sert à rien ça dérange pas sauf si le serveur est limité ;)
 
Après les valeurs du serveur mysql peuvent se configurer, mais si ça sert à rien, ça sert à rien :D

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed