Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

mikaweb2011
WRInaute discret
WRInaute discret
 
Messages: 69
Inscription: 21 Jan 2011

Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Mer Sep 21, 2011 17:57

Bonjour,

J'avais un hébergement mutualisé chez ovh. (offre Business) voila le lien http://www.ovh.com/fr/hebergement_mutualise/

Et j'ai pris un nouveau serveur kimsufi 250g.http://www.kimsufi.com/fr/

Le problème n'est pas là ;-) J'ai bien reçu mon nouveau serveur et je l'ai installé et il fonctionne à merveille.

Ma base de donnée étant sur mon premier serveur j'ai décidé de transférer la base de donnée et de changer la connexion .

Tout fonctionne. Mais...

Si je fais cette requete sur mon ancien serveur:

UPDATE OFFRES SET REF='18' WHERE ID='1'

Voici la notification: Nombre d'enregistrements affectés : 1 (Traitement en 0.0013 sec.)

Sur le nouveau serveur:

UPDATE OFFRES SET REF='18' WHERE ID='1'

Nombre d'enregistrements affectés : 1 (Traitement en 0.1119 sec.)

Ce que je comprend pas c'est que j'ai fais un import/export de ma base de donnée donc je n'ai pas touché aux index.

Et c'est seulement sur ma table OFFRES que le serveur mysql rame à fond. Et pas qu'un peu...

Que faire dans ce cas pour accélérer le réponse de chaque requête envoyé?

NB: La taille sur disque de la table OFFRES =250MO qui n'est pas grand .

Cdt.


Marie-Aude
Modérateur
Modérateur
 
Messages: 11900
Inscription: 5 Juin 2006

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Mer Sep 21, 2011 18:49

Euh quand même un peu grand non ^^
vérifie tes index, as tu transféré tous les objets de la base et pas seulement les tables ?
Réparation, optimisation...

le-bon-plan.com
WRInaute discret
WRInaute discret
 
Messages: 129
Inscription: 1 Juin 2007

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Mer Sep 21, 2011 21:55

Les bases de données actuel comme par exemple Oracle dispose de calculs statistiques permettant d'optimiser automatiquement les requêtes sql en optant pour le plan d’exécution le plus efficace.

Dès lors, il est probable qu’après installation de ta nouvelle BD, les requêtes mettent légèrement plus de temps à être exécutés. Tout devrait revenir à la normale d'ici quelques temps après le calcul des stats par la BD.

PS: Je ne sais pas si MySql fonctionne via des mécanismes d'optimisations automatique comme Oracle, mais si c'est le cas, le problème pourrait s'expliquer ainsi.


salva
WRInaute accro
WRInaute accro
 
Messages: 4278
Inscription: 16 Avr 2006

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 6:12

mikaweb2011 a écrit:Et j'ai pris un nouveau serveur kimsufi 250g.http://www.kimsufi.com/fr/
As-tu optimisé le serveur en fonction de son utilisation ? Apache, mysql, PHP ....

mikaweb2011
WRInaute discret
WRInaute discret
 
Messages: 69
Inscription: 21 Jan 2011

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 6:59

salva a écrit:
mikaweb2011 a écrit:Et j'ai pris un nouveau serveur kimsufi 250g.http://www.kimsufi.com/fr/
As-tu optimisé le serveur en fonction de son utilisation ? Apache, mysql, PHP ....


Bonjour,

Non j'ai rien fais pour optimiser le serveur.

Sinon comment faire l'optimisation dans ce cas ?

Cdt.


salva
WRInaute accro
WRInaute accro
 
Messages: 4278
Inscription: 16 Avr 2006

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 7:43

Ce sera long et fastidieux si tu n'as aucune base en administration serveur mais tu peux débuter par ceci.
Ensuite tu pourras affiner tes recherches sur le forum OVH en integrant le système d’exploration installé dans tes requêtes.

Désolé de te renvoyer ainsi sur un lien mais tu n'échapperas pas à un minimum de formation pour administrer le serveur et corriger tous les aléas que tu rencontreras de façon certaine.

mikaweb2011
WRInaute discret
WRInaute discret
 
Messages: 69
Inscription: 21 Jan 2011

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 9:18

Bonjour,

est ce que ce lenteur peu être dû suite à un envoi massive d'emailing chaque jour?


D'autre façon l'envoi d'emailing peut ralentir le fonctionnement du serveur ?


Cdt.


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 9:25


mikaweb2011
WRInaute discret
WRInaute discret
 
Messages: 69
Inscription: 21 Jan 2011

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 9:30

salva a écrit:Ce sera long et fastidieux si tu n'as aucune base en administration serveur mais tu peux débuter par ceci.
Ensuite tu pourras affiner tes recherches sur le forum OVH en integrant le système d’exploration installé dans tes requêtes.

Désolé de te renvoyer ainsi sur un lien mais tu n'échapperas pas à un minimum de formation pour administrer le serveur et corriger tous les aléas que tu rencontreras de façon certaine.



Vraiment je suis débutant dans la gestion et configuration des serveurs dédiés.

Comment je peut explorer les fichiers sur un serveur dedié (exemple le fichier php.ini) , je ne trouve pas ca sur l'interface de plesk.


Aperçu sur niveau des charges & real monitoring

http://imageshack.us/photo/my-images/841/mrtgproxy.png/

http://imageshack.us/f/26/rtm326332412966.png/

http://imageshack.us/photo/my-images/546/rtm798044592448.png/

http://imageshack.us/photo/my-images/801/sansre1xr.png/

Cdt.

mikaweb2011
WRInaute discret
WRInaute discret
 
Messages: 69
Inscription: 21 Jan 2011

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 9:55

spout a écrit:Teste avec cet outil: https://github.com/rackerhacker/MySQLTuner-perl


J'ai installé MySQLTuner-perl et voila ce que j'ai obtenu :

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.77
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive +BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 4M (Tables: 515)
[--] Data in InnoDB tables: 203M (Tables: 155)
[!!] BDB is enabled but isn't being used
[!!] Total fragmented tables: 8

-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned

-------- Performance Metrics -------------------------------------------------
[--] Up for: 41d 0h 57m 4s (20M q [5.886 qps], 2M conn, TX: 8B, RX: 1B)
[--] Reads / Writes: 91% / 9%
[--] Total buffers: 34.0M global + 2.7M per thread (100 max threads)
[OK] Maximum possible memory usage: 309.0M (15% of installed RAM)
[OK] Slow queries: 0% (55/20M)
[OK] Highest usage of available connections: 20% (20/100)
[OK] Key buffer size / total MyISAM indexes: 8.0M/6.2M
[OK] Key buffer hit rate: 99.8% (34M cached / 52K reads)
[!!] Query cache is disabled
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 858K sorts)
[!!] Joins performed without indexes: 113010
[OK] Temporary tables created on disk: 4% (123K on disk / 2M total)
[!!] Thread cache is disabled
[!!] Table cache hit rate: 0% (64 open / 47K opened)
[OK] Open file limit used: 5% (57/1K)
[OK] Table locks acquired immediately: 99% (11M immediate / 11M locks)
[!!] InnoDB data size / buffer pool: 203.7M/8.0M

-------- Recommendations -----------------------------------------------------
General recommendations:
Add skip-bdb to MySQL configuration to disable BDB
Run OPTIMIZE TABLE to defragment tables for better performance
Enable the slow query log to troubleshoot bad queries
Adjust your join queries to always utilize indexes
Set thread_cache_size to 4 as a starting value
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
query_cache_size (>= 8M)
join_buffer_size (> 128.0K, or always use indexes with joins)
thread_cache_size (start at 4)
table_cache (> 64)
innodb_buffer_pool_size (>= 203M)


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3835
Inscription: 14 Sep 2006

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 10:10

[!!] Joins performed without indexes: 113010


Tout est dit. Ajoute des indexes comme te l'a conseillé Marie-Aude au début de ce topic.


salva
WRInaute accro
WRInaute accro
 
Messages: 4278
Inscription: 16 Avr 2006

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 10:13

mikaweb2011 a écrit:Comment je peut explorer les fichiers sur un serveur dedié (exemple le fichier php.ini) , je ne trouve pas ca sur l'interface de plesk.
Avec Winscp (sous Windows).

mikaweb2011
WRInaute discret
WRInaute discret
 
Messages: 69
Inscription: 21 Jan 2011

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 12:27

J'ai ajouté ce commande mysql> SET GLOBAL query_cache_size = 1000000;pour mettre les requetes en cache.

J'ai remarqué que au début la page se charge troooop long et après elle sera très rapide.Bon tt la page est devenu en cache.

C'est normal ?


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 14:18

Attention, tu compares ce qui n'est pas comparable :P
Sur le mutu, tu as un HG partagé (mais optimisé par des pros)
Sur ton kimsufi, tu as des disques durs hyper lents, non optimisés.

Suit les recommandations de ton tuning-primer/mysqltuner.
Code: Tout sélectionner
query_cache_size (>= 8M)
join_buffer_size (> 128.0K, or always use indexes with joins)
thread_cache_size (start at 4)
table_cache (> 64)
innodb_buffer_pool_size (>= 203M)

Donc dans ton my.cnf:
Code: Tout sélectionner
query_cache_size = 64M
table_cache = 512
innodb_buffer_pool_size = 256M

Les autres consommeront trop de RAM comparé à ce qu'il y a sur un kimsufi. (tu peux quand même monter ton join_buffer_size à 256Ko sans trop de soucis).

Je pense que ta table en question est en innoDB avec un innoDB mal configuré, ça devrait bien augmenter les perfs de changer le pool size

mikaweb2011
WRInaute discret
WRInaute discret
 
Messages: 69
Inscription: 21 Jan 2011

Re: Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Message le Jeu Sep 22, 2011 16:26

Voila après plusieurs tentative de modification j'obtiens toujours des alertes.
mysql> SET GLOBAL query_cache_size = 60000000;
mysql> SET SESSION query_cache_type = 1;
mysql> SET GLOBAL join_buffer_size =20000000;
mysql> SET GLOBAL query_cache_limit =60000000;



*********************************************************************************************************

>> MySQLTuner 1.2.0 - Major Hayden <major@mhtx.net>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.0.77
[OK] Operating on 64-bit architecture

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive +BDB -Federated +InnoDB -ISAM -NDBCluster
ERROR 1018 (HY000) at line 1: Can't read dir of '.' (errno: 24)
ERROR 1018 (HY000) at line 1: Can't read dir of '.' (errno: 24)
[!!] InnoDB is enabled but isn't being used
[!!] BDB is enabled but isn't being used
Argument "" isn't numeric in numeric gt (>) at ./mysqltuner.pl line 549 (#1)
(W numeric) The indicated string was fed as an argument to an operator
that expected a numeric value instead. If you're fortunate the message
will identify which operator was so unfortunate.

[OK] Total fragmented tables:

-------- Security Recommendations -------------------------------------------
ERROR 1016 (HY000) at line 1: Can't open file: './mysql/user.frm' (errno: 24)
[OK] All database users have passwords assigned
ERROR 1018 (HY000) at line 1: Can't read dir of '.' (errno: 24)

-------- Performance Metrics -------------------------------------------------
[--] Up for: 41d 7h 25m 40s (20M q [5.860 qps], 2M conn, TX: 8B, RX: 1B)
[--] Reads / Writes: 91% / 9%
[--] Total buffers: 206.2M global + 21.7M per thread (100 max threads)
[!!] Maximum possible memory usage: 2.3G (120% of installed RAM)
[OK] Slow queries: 0% (92/20M)
[OK] Highest usage of available connections: 20% (20/100)
Argument "" isn't numeric in numeric eq (==) at ./mysqltuner.pl line 735 (#1)
[!!] None of your MyISAM tables are indexed - add indexes immediately
[!!] Query cache efficiency: 0.1% (12K cached / 9M selects)
[OK] Query cache prunes per day: 29
[OK] Sorts requiring temporary tables: 0% (0 temp sorts / 863K sorts)
[!!] Joins performed without indexes: 114215
[OK] Temporary tables created on disk: 4% (124K on disk / 2M total)
[!!] Thread cache hit rate: 0% (2M created / 2M connections)
[!!] Table cache hit rate: 0% (512 open / 54K opened)
[!!] Open file limit used: 98% (1K/1K)
[OK] Table locks acquired immediately: 99% (11M immediate / 11M locks)

-------- Recommendations -----------------------------------------------------
General recommendations:
Add skip-innodb to MySQL configuration to disable InnoDB
Add skip-bdb to MySQL configuration to disable BDB
Reduce your overall MySQL memory footprint for system stability
Enable the slow query log to troubleshoot bad queries
Adjust your join queries to always utilize indexes
Increase table_cache gradually to avoid file descriptor limits
Variables to adjust:
*** MySQL's maximum memory usage is dangerously high ***
*** Add RAM before increasing MySQL buffer variables ***
query_cache_limit (> 57M, or use smaller result sets)
join_buffer_size (> 19.1M, or always use indexes with joins)
thread_cache_size (> 25)
table_cache (> 512)
open_files_limit (> 1024)

Sinon, quel est le meilleur confoguration dans ce cas ?


Cdt

Requête SQL beaucoup plus lente malgré un serveur kimsufi 250g plus puissant

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités