IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Installation MySQL Discussion :

Performance Mysql 5 & autres [Fait]


Sujet :

Installation MySQL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    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 !!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    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.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    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 ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    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...

  5. #5
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    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.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    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

  7. #7
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    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

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    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 !

  9. #9
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    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.

  10. #10
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    si j'ai des requetes qui dépassent ,

    par exemple celle ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ...

  12. #12
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    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

  14. #14
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  15. #15
    Invité
    Invité(e)
    Par défaut
    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.

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    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 ?

  17. #17
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    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 ?

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    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

  20. #20
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 488
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 488
    Points : 6 037
    Points
    6 037
    Par défaut
    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 !...

Discussions similaires

  1. performance MySql
    Par Sylvain245 dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/01/2006, 17h33
  2. Réponses: 3
    Dernier message: 21/10/2005, 14h56
  3. [MySQL] Mettre a jour un serveur MySQL depuis un autre
    Par baddounet dans le forum Administration
    Réponses: 6
    Dernier message: 01/09/2005, 15h09
  4. performances mysql (10 a 100 millions de rows)
    Par killy-kun dans le forum Outils
    Réponses: 1
    Dernier message: 21/07/2005, 15h06
  5. [Conception][performance] mysql table de 10000 enregistrements / hashmap
    Par debdev dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/07/2005, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo