Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2006, 11h35   #1
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
Par défaut Performance Mysql 5 & autres

Bonjour,

si je migre MySQL 4.0.14 vers ma version MySQL 5. est ce que j'aurais de meilleure performance en temps de réponse ??

sinon pensez vous que sql server soit plus performant en temps de réponse que mysql ? une autre base oracle ou autres ???

pensez vous que sql server soit plus performant pour de grands volume de donnée que mysql ?

sinon quelle serait la configuration idéal pour le serveur avec apache mysql php et en meme temps .net ...

merci de vos réponses car j'ai de gros soucis de performance !!!
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 11h39   #2
Inactif
 
Inscription : mars 2002
Messages : 1 295
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2002
Messages : 1 295
Points : 1 345
Points : 1 345
Mysql 4 comme le 5 ont un cache de requête. Essaie de l'activer.
La version 5 a un installeur sympa. Couplé avec mysqladministrator, c'est simple à "régler".

Pour le problèmes de perfs, il faudrait revoir la config du server, les index, ou carrément l'usage.
Au niveau performance brute pour une utilisation en "lecture seule", mysql n'a pas à rougir. Pour le reste c'est un sujet de thèse à lui tout seul.

Pour finir faudrait détailler ta config et tes problèmes.
Florian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 14h32   #3
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
Pour ce qui est du cache, je vais me voir.

Pour le serveur, c'est clair il est carrément obsolete c'est un p3 733mhz avec 512 mo de ram. Mais bon comment savoir si j'achete un nouveau que je gagne 25 % de perf aucune idée ...

je suis en train de développé aussi ma partie administration en .net donc je me disais que si je migre mysql en sql server ce sera mieux ??? pour le .net mais pour php ??

Sinon il y a peu pres 50 utilisateurs actif simultatné la base fait 500 mo pour 5 millions de ligne. Et je bosse forcément sur 2 grosse table 2 millions et l'autre 150 000 lignes, et je suis obligé de faire bcp de jointure entre les tables ...

Mon prob est survenu car une gestion d'un cas me demande 16 000 lignes par demande pour une seule table sans compté les autres ...
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 14h37   #4
Inactif
 
Inscription : mars 2002
Messages : 1 295
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2002
Messages : 1 295
Points : 1 345
Points : 1 345
Déjà si tu passe, on va dire sur un bi-proc avec 1 ou 2Go de Ram, ce qui reste abordable pour une entreprise, ça va faire un peu comme si t'enlevais le frein à main
Migrer de mysql à Sql Server, ce n'est pas comme passer de OpenOffice à Word. C'est un truc à planifier, qui ne s'improvise pas. Et tu risque de souffrir encore plus avec ton matos actuel...
Florian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 14h40   #5
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Salut,

As-tu déjà analysé les requêtes qui prennent du temps ? As-tu bien vérifié que tes index sont placés correctement, et que MySQL les utilise quand il le faut ?

Sinon d'accord avec Florian, mettre SQL Server sur ton serveur actuel, il y a peu de chances que ça soit mieux.
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 14h58   #6
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
Merci de votre aide , car pour les informaticiens la quete c'est la performance des temps de réponse !
Et bon j'ai peur que le serveur tombe ça ferait pas mal de personne sans boulot car il y a 2 equipes de 15 opératrices en equipe qui saisissent continuellement de 5h à 21 h !

Oui les requetes posant probleme sont analysés, je crois plus en avoir j'ai un systeme qui détectent les requetes qui dépassent les 10ms.

par contre pr les index comment vérifié qu'ils sont bien placés et bien utilisés ?
j'ai uniquement des index sur les clefs primaires c'est automatique n'est ce pas ...

Pour sql server, il serait hebergé sur un autre serveur ! Pour la migration c'est sur je vais pas faire ça en clapant des mains mais avant de m'investir j'aimerais des garanties de perf et je trouve que c'est quasi impossible à trouver sans faire une étude d'un mois , j'ai pas le temps !

Mais bon c'est clair je vais faire la greve si la machine ne change pas ...

Pour les actions, je suis en train de mettre en place une purge car mon appli fait de la suppression logique (eh oui j'ai récupéré le bébé ) , donc je vais réduire de 1/4 le volume de donnée, ça fera du bien

Je pense que un des gros pb vient aussi d'apache.
1. je fais des boucles dans tous les sens et je dois recherché l'info ac pas mal de jointure ( un peu comme tous le monde )
2. En fait je suis aussi obligé d'affiché un nombre trop important de ligne par page aussi . Je sais faire un découpage par disont 100 enregistrement par page mais c'est pas utilisable pr les users. Comment faire pour affiché une page à la volée 100 par 100 , chépa si vous voyez ce que je veux dire ...

désolé je me trompe un peu de forum mais bon il me faut qq solutions avant que je change le serveur ...

merci en tous cas je vais déjà voir les index
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 15h15   #7
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Salut,

Pour les index tu peux regarder ici : http://mysql.developpez.com/faq/?pag...miser_requetes

Concernant MySQL 5 des études montrent que les performances sont améliorées uniquement si on tire parti des nouvelles fonctionnalités (procédures stockées...)

Si tu veux des pages à nb de résultats limités tu peux utiliser l'instruction SQL LIMIT : LIMIT 0, 100 ; LIMIT 100, 200 ...
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 15h30   #8
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
ok je vais voir pr les index merci

pour limit je connais mais ce que j'aimerais c'est excutée la requete pour 100 enregistrement les affichés puis recommencé ainsi de suite ... je vais y reflechir !
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 15h34   #9
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Je sais pas si c'est possible, mais pour ton appli PHP tu peux tenter un mysql_unbuffered_query() qui permettra à PHP de traiter directement les résultats provenant de MySQL. Ca pourrait te faire gagner un peu de temps dans ton cas.

Tu n'as aucune requête qui dépasse 10ms ?? Ton serveur MySQL ne doit pas être suchargé s'il n'y a que 50 utilisateurs connectés.
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 16h37   #10
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Citation:
Envoyé par Biglo
Je sais pas si c'est possible, mais pour ton appli PHP tu peux tenter un mysql_unbuffered_query() qui permettra à PHP de traiter directement les résultats provenant de MySQL. Ca pourrait te faire gagner un peu de temps dans ton cas.

Tu n'as aucune requête qui dépasse 10ms ?? Ton serveur MySQL ne doit pas être suchargé s'il n'y a que 50 utilisateurs connectés.
Je confirme que mysql_unbuffered_query peut diviser le temps par deux sur le traitement. Néanmoins il faut savoir que ça ne fonctionne pas dans toute les conditions. Elle peut pas être executé si tu es dans une boucle d'une autre requête. Par contre il y a plus cette fonction avec mysqli.

Concernant la migration entre mysql et SqlServer. Il y a une différence de vitesse de lecture entre les deux. L'application que je monte peut être sur Mysql4, Mysql5 ou SqlServer. Pour un peut moin d'une vingtaine d'enregistrements. entre le 4 et 5 la différence ce n'est pas calculable par contre entre SqlServer la différence ce fait bien sentir surtout en temps de démarrage. Même enregistrement, quasi même structure de table. Pas de jointure c'est juste de la lecture brute de chez brute d'une table. Ceci sur une même machine. XP 3200 1Go Ram. SqlServer 2000. Et pas d'émule qui tourne .

Mysql peut tourner sur une game boy première génération.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 16h45   #11
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
si j'ai des requetes qui dépassent ,

par exemple celle ci

Code :
1
2
3
4
# Time: 060822 19:10:15
# User@Host: test[test] 
# Query_time: 33  Lock_time: 0  Rows_sent: 1  Rows_examined: 324447
SELECT `id_case`,`id_plan`,`case_order`,`id_chapter`,`title`,`description`,`material`,`network`,`links`,`document`,`case_script`,`id_user`,`init_state`,`case_date`,`status`,`title_en`,`description_en`,`time_estimated`,`time_average`,`importance`,`difficulty`  FROM `testcase` ORDER BY case_order DESC LIMIT 1;
je comprends pas qu'il examine 324447 ligne j'en veux qu'une ... pas bien le limit alors ...

sinon j'ai aussi un probleme ac celle -ci :
Code :
1
2
3
4
5
6
# Query_time: 20  Lock_time: 0  Rows_sent: 2862  Rows_examined: 20706
SELECT sd.* FROM sw_defect sd, sw_gsm_defect sgd WHERE sd.id_product = 114
				AND sgd.id_defect = sd.id_defect
				AND sd.id_plan != 0
				AND number_number_defect != 0 
				AND sd.id_plan <= 1303 ORDER BY sd.number_number_defect ASC, sd.id_defect DESC;
apres dans le code je recherche le plus grand élément du groupe càd au final je sors 270 enregistrements uniquement . Par contre , avec la version mysql 4.0 on ne peut faire un where imbriqués :
Code :
1
2
3
4
5
SELECT article, dealer, price
FROM shop s1
WHERE price=(SELECT MAX(s2.price)
FROM shop s2
WHERE s1.article = s2.article);
je n'ose pas migrer en version 5, est ce compliqué , je risque d'avoir des pertes ..; ??

pr le probleme 2 je vais le faire en 2 requetes :
recherches des plus grand id du groupe puis afficher la requete 2 avec ses id ...
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 16h50   #12
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
C'est normal qu'il te retourne un certain nombre d'enregistrement vu que tu lui donnes un ORDER BY. C'est qu'il doit lire le tout pour le ranger dans l'ordre et te retourner qu'un seul élément. Effectivement c'est pas rentable.
Pour migrer il devrait pas y avoir de souci c'est pas si différent que ça. Il y a eu plutôt des choses ajouter que retirer/modifié. La petite différence eventuelle c'est le mode de connexion car il faut utiliser mysqli car la table de hashage des mot de passe à changé.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 17h29   #13
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
ah oui bien vu j'avais pas vu .... faut dire que lorsque j'avais récupéré il y avait de LIMIT. alors que la requete sert juste à intialiser la connexion à la base de donnée pour une appli visual c++

bon je vais m'y mettre à la migration

merci
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2006, 09h53   #14
Membre Expert
 
Avatar de Sivrît
 
Inscription : février 2006
Messages : 953
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2006
Messages : 953
Points : 1 189
Points : 1 189
Personnellement, sur une migration de la 4 à la 5 (avec du J2EE), le seul problème que j'ai eu est lié à un changement de priorité entre ',' et 'JOIN' dans le 'FROM'. Ca se corrige sans problème.

Sinon un p3 733mhz ne me semble pas si faible que ça. Sûr que ça n'a pas la disponibilité d'un gros bi-proc mais quand même. En utilisant des indexs et ses 512Mo de ram il y a de quoi faire.

Il faudrait cadrer les requêtes les plus lentes ou très utilisées. En tout cas, même si les clefs primaires sont indexées ce n'est pas du tout suffisant. Les clefs étrangères sont de bons candidats. Et plus les tables sont grosses plus les indexes font gagner de temps.

Code :
SELECT `id_case`,`id_plan`,`case_order`,`id_chapter`,`title`,`description`,`material`,`network`,`links`,`document`,`case_script`,`id_user`,`init_state`,`case_date`,`status`,`title_en`,`description_en`,`time_estimated`,`time_average`,`importance`,`difficulty`  FROM `testcase` ORDER BY case_order DESC LIMIT 1;
Par exemple ici un index sur 'case_order' devrait permettre de ne pas se faire toute la table. Bien le limit alors
Sivrît est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2006, 14h13   #15
Inactif
 
Inscription : mars 2002
Messages : 1 295
Détails du profil
Informations personnelles :
Âge : 41

Informations forums :
Inscription : mars 2002
Messages : 1 295
Points : 1 345
Points : 1 345
Citation:
Envoyé par Sivrît
Personnellement, sur une migration de la 4 à la 5 (avec du J2EE), le seul problème que j'ai eu est lié à un changement de priorité entre ',' et 'JOIN' dans le 'FROM'. Ca se corrige sans problème.

j'ai eu aussi. J'ai crisé avant de comprendre qu'il fallait juste changer l'ordre des noms de table
J'ai même du poster ici à ce sujet.
Florian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 11h42   #16
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
Bonjour,

je ne sais pas si je poste au bon endroit ...

ou pourrais je trouvé de l'info pour la configuration du serveur entre 3k€ et 4k€ ?

pensez vous que ce soit vraiment inutile comme achat , je suis bien svt à 100de cpu ...

Est il possible de mettre sur le meme serveur IIS (.net ) , apache ( php) et mysql ?
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 12h02   #17
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Tu cherches une prestation pour configurer ton serveur pour tu veux acheter un serveur.
Si ton CPU est à 100% alors il faut chercher le probleme.
Soit c'est le serveur qui ne tien pas la charge par le nombre d'utilisateur.
Soit c'est l'application qui n'est pas optimisé pour le nombre d'utilisateur alors c'est la structure de la base de données, le language qui utilise la base de données ou les deux.
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 12h12   #18
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
Citation:
Envoyé par berceker united
Concernant la migration entre mysql et SqlServer. Il y a une différence de vitesse de lecture entre les deux. L'application que je monte peut être sur Mysql4, Mysql5 ou SqlServer. Pour un peut moin d'une vingtaine d'enregistrements. entre le 4 et 5 la différence ce n'est pas calculable par contre entre SqlServer la différence ce fait bien sentir surtout en temps de démarrage. Même enregistrement, quasi même structure de table. Pas de jointure c'est juste de la lecture brute de chez brute d'une table. Ceci sur une même machine. XP 3200 1Go Ram. SqlServer 2000. Et pas d'émule qui tourne
je suis pas sur d'avoir compris donc sql serveur est plus performant que mysql ?
et que pensez des procédures stockés sous sql server par rapport aux temps de réponses ?

désolé je parle de sql server mais je pense que bon nombre de personne sont dans l'interrogation pour le choix de la base ou migration ...

en conclusion, si je migre vers sql server , je gagnerais en temps de réponse oui ou non ? plus fiable ?
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 12h16   #19
Invité de passage
 
Inscription : février 2004
Messages : 12
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 12
Points : 1
Points : 1
Citation:
Envoyé par berceker united
Tu cherches une prestation pour configurer ton serveur pour tu veux acheter un serveur.
Si ton CPU est à 100% alors il faut chercher le probleme.
Soit c'est le serveur qui ne tien pas la charge par le nombre d'utilisateur.
Soit c'est l'application qui n'est pas optimisé pour le nombre d'utilisateur alors c'est la structure de la base de données, le language qui utilise la base de données ou les deux.

j'aimerais acheter un serveur qui pourrait héberger apache et IIS !

Concernant l'application c'est sur qu'elle n'est pas optimisée totalement, il faudrait plus d'un an pour la ré-écrire et au final vu que les demandes évoluent, pas sur qu'il répondent totalement à la demande ....

donc pr le moment une solution serait l'achat d'un serveur , j'espere que ça ira mieux sinon je me ferais linché

je monte à 100% de cpu ,pas alétoirement, mais suivant l'application qui est lancée. il y a des opérations qui sont longues pour l'administration du site. la consultation et la saisie se passe bien sauf bien sur quand le serveur est chargé par l'administration
losloshigh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 13h24   #20
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
Si tu veux pas être dans ce cas.

Test si sur une machine test plus puissante avant achat cela permettra d'optimiser le choix de la machine. Regarde si tu cotés des hebergeurs de serveur dédié.
Dans le cas d'achat d'un serveur. Si c'est php qui consomme plus que mysql. Dans ce cas tu investis plus sur l'un que sur l'autre. Liaison gigabite entre les deux.

Pour enticiper le faite que tu puisses te faire lyncher. je te conseille huiler la cordre avec l'huile fluide 5w40. ça marche le noeud va jusqu'au bout!...
__________________
Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h52.


 
 
 
 
Partenaires

Hébergement Web