• Aucun résultat trouvé

Syst`emes d’exploitation support´es par MySQL

Dans le document Manuel MySQL pdf enjeux et pratiques (Page 99-101)

2.2 Notes g´en´erales `a propos de l’installation

2.2.3 Syst`emes d’exploitation support´es par MySQL

Nous utilisons GNU Autoconf, alors il est possible de porter MySQL sur tous les syst`emes modernes qui utilisent les threads Posix et un compilateur C++. Pour compiler uniquement le client, un compilateur C++ est simplement n´ecessaire. Nous utilisons et d´eveloppons le logiciel nous-mˆeme, en commen¸cant par Sun Solaris (Versions 2.5 - 2.7) et SuSE Linux version 7.x.

Notez que pour de nombreux syst`emes d’exploitation, le support natif des threads ne fonc- tionne qu’avec les derni`eres versions. MySQL a ´et´e compil´e avec succ`es sur les combinaisons syst`eme d’exploitation/package de threads suivants :

• AIX 4.x, 5.x avec les threads natifs. Voir Section 2.6.6.4 [IBM-AIX], page 139. • Amiga.

• BSDI 2.x avec le package MIT-pthreads. Voir Section 2.6.4.5 [BSDI], page 135. • BSDI 3.0, 3.1 et 4.x avec les threads natifs. Voir Section 2.6.4.5 [BSDI], page 135. • DEC Unix 4.x avec les threads natifs. Voir Section 2.6.6.6 [Alpha-DEC-UNIX],

page 141.

• FreeBSD 2.x avec le package MIT-pthreads. Voir Section 2.6.4.1 [FreeBSD], page 133. • FreeBSD 3.x et 4.x avec les threads natifs. Voir Section 2.6.4.1 [FreeBSD], page 133. • HP-UX 10.20 avec les threads DCE ou avec le package MIT-pthreads. Voir Sec-

tion 2.6.6.2 [HP-UX 10.20], page 138.

• HP-UX 11.x avec les threads natifs Voir Section 2.6.6.3 [HP-UX 11.x], page 138. • Linux 2.0+ avec LinuxThreads 0.7.1+ ou glibc 2.0.7+. Voir Section 2.6.1 [Linux],

page 113.

• Mac OS X. Voir Section 2.6.5 [Mac OS X], page 136.

• NetBSD 1.3/1.4 Intel et NetBSD 1.3 Alpha (requiert GNU make). Voir Section 2.6.4.2

[NetBSD], page 134.

• OpenBSD > 2.5 avec les threads natifs. OpenBSD < 2.5 avec le package MIT-pthreads.

Voir Section 2.6.4.3 [OpenBSD], page 134.

• OS/2 Warp 3, FixPack 29 et OS/2 Warp 4, FixPack 4. Voir Section 2.6.7 [OS/2],

page 147.

• SGI Irix 6.x avec les threads natifs. Voir Section 2.6.6.8 [SGI-Irix], page 144.

• Solaris 2.5 et plus r´ecent, avec les threads natifs sur SPARC et x86. Voir Section 2.6.3

[Solaris], page 129.

• SunOS 4.x avec le package MIT-pthreads. Voir Section 2.6.3 [Solaris], page 129. • Caldera (SCO) OpenServer avec un port r´ecent du package FSU Pthreads. Voir Sec-

tion 2.6.6.9 [Caldera], page 145.

• Caldera (SCO) UnixWare 7.0.1. Voir Section 2.6.6.10 [Caldera Unixware], page 147. • Tru64 Unix

• Windows 9x, Me, NT, 2000 et XP. Voir Section 2.6.2 [Windows], page 121.

Notez que toutes les plate-formes ne sont pas ´equip´ees de la mˆeme fa¸con pour faire fonction- ner MySQL. Les capacit´es d’une plateforme pour supporter de fortes charges avec MySQL est d´etermin´e par ceci :

• Stabilit´e g´en´erale de la librairie de threads. Une plateforme qui a une excellente

r´eputation en g´en´eral, mais une librairie de threads instable, dont le code est utiis´e par MySQL, mˆeme si le reste est parfait, fera de MySQL une application instable.

• La capacit´e du noyeau et/ou de la librairie de threads de profiter des capacit´es multi-

processeurs, sym´etrique ou pas. En d’autres termes, lorsqu’un processus cr´ee un thread, il doit ˆetre possible pour ce thread de s’ex´ecuter sur diff´erents processeurs.

• La capacit´e du noyau et/ou de la librairie de threads de faire fonctionner de nombreux

threads qui posent et l´event des verrous mutex en peut de temps, fr´equemment, sans changement de contexte excessif. En d’autres termes, si l’impl´ementation de pthread_ mutex_lock() est trop soucieux du temps CPU, cela va ralentir s´erieusement MySQL. Si ce probl`eme n’est pas r´egl´e, ajouter des processeurs suppl´ementaires va finalement ralentir MySQL.

• Performance et stabilit´e g´en´erale du syst`eme de fichiers.

• La capacit´e du syst`eme d’exploitation de g´erer de grands fichiers, et de le faire efficace-

ment, si vos tables sont grandes.

• Notre niveau d’expertise avec la plate-forme, chez MySQL AB. Si vous connaissons

bien une plate-forme, vous pourront introduire des optimisations et des corrections sp´ecifiques `a la plate-forme, et activ´e lors de la compilation. Nous pouvons aussi fournir des conseils judicieux pour cnofigurer votre syst`eme optimalement pour MySQL.

• Le temps de tests que vous avons consacr´e `a des configurations similaires, en interne. • Le nombre d’utilisateur de MySQL qui font fonctionner MySQL avec succ`es sur cette

plate-forme, avec des configurations similaires. SI ce nombre est grand, les chances de rencontrer un probl`eme sp´ecifique sont faibles.

En se basant sur les crit`eres pr´ec´edents, les meilleures plate-forme pour MySQL sont x86 avec SuSE Linux 7.1, 2.4 kernel, et ReiserFS (ou toute autre distribution Linux similaire) et SPARC avec Solaris 2.7 ou 2.8. FreeBSD vient en troisi`eme, mais nous esp´erons bien le voir rejoindre le groupe de tˆete, une fois que la librairie de threads sera am´elior´ee. Nous esp´erons aussi ˆetre bientˆot capables d’ajouter les autres plate-formes sur laquelle MySQL compile, et fonctionne correctement, mais pas toujours le bon niveau de stabilit´e et de performances. Cela r´eclame des efforts de notre part, en coop´eration avec les d´eveloppeurs de ces plate- formes. Si vous ˆetes interess´es par l’am´elioration de ces composants, et que vous ˆetes en position pour influencer le d´eveloppement, demandez des instructions d´etaill´ees `a MySQL en envoyant un email `a internals@lists.mysql.com.

Notez bien que la comparaison pr´ec´edente ne signifie pas qu’un syst`eme d’exploitation est meilleur que l’autre, en g´en´eral. Nous avons class´e les syst`emes en fonction de leur capacit´e `a faire fonctionner un syst`eme MySQL, et nous nous limitons `a cette comparaison. Avec cela en tˆete, le r´esultat de cette comparaison serait diff´erent si nous y ajoutions d’autres probl`emes. Et dans certains cas, la seule raison qui fait qu’un OS est meilleur que l’autre est parce que nous y avons consacr´e plus de temps, pour optimiser et tester. Nous nous bornons `a exprimer notre point de vue pour vous aider `a d´ecider quelle plate forme choisir pour votre serveur MySQL.

Dans le document Manuel MySQL pdf enjeux et pratiques (Page 99-101)