FluxRSS FluxRSS FlickR Twitter Ziki

Maxime Gaillard

DESCARTES : Je pense, donc je blog !

13 juil

Helmer : 8 fois plus puissant qu’un Mac Pro

Posté dans Insolite | Tags :, , , | Pas encore de commentaire »


Au cours de recherches sur les Clusters, je suis tombé sur Helmer. En gros c’est un cluster fait maison. Comment ça fait maison ? Regardez l’image vous allez comprendre :

Cluster Helmer

Pour ceux qui ne sont pas au courant, cluster veut dire “grappe” en anglais. Dans le milieu professionnel on utilise une multitude de serveurs pour avoir une puissance de calcul impressionnante (ou avoir une haute disponibilité). 

Ici, le monsieur s’est fait sont propre cluster afin de faire du montage vidéo dans de bonnes conditions (très bonnes même !). 

Helmer c’est :

  • 6 core Quad 2,4 Ghz (186 Gflops)
  • 48 Go de Ram
  • 800 Watt à plein régime

Au niveau des performances :

Une scéne en 3D à 24 frames en 4096×4096 pixels était calculée en 552 minutes (9,2 h), sur un Mac Pro avec 2 dual Core Xenon à 2,6 Ghz et 4 Go de ram. La même scène a été rendue sur le cluster maison en 64 minutes, soit plus de 8 fois plus rapidement !

3-6st-intel-quad-core

14 juin

LightTPD : une merveille de serveur web

Posté dans Mes sites | Tags :, , , , | 2 Commentaires »


Durant cette période d’examen je n’ai pas énormément le temps de bloguer mais je voudrais quand même partager avec vous une trouvaille (pour moi :D ) que j’ai faites la semaine dernière lors d’une montée en charge très violente sur mon serveur. Ainsi Apache2 ne savait plus où donner de la tête et il fallait le rebooter toutes les 15 minutes si je voulais ne pas remplir mon swap et faire planter tout le bordel…

Ainsi après avoir essayé de brider au minimum Apache je me suis motivé à installer LightTPD dont j’avais d’ailleurs parlé dans un précédent post.

Avec ma chance légendaire j’installe une version non à jour qui présente un bug un peu génant dit “memory leak” qui à l’instar de FireFox cannibalisait encore plus vite la mémoire vive qu’Apache. Bref ça n’avançait pas !
Mais en mettant à jour tout le bouzin plus de problèmes ! C’est presque magique.

Depuis le passage d’Apache2 vers LightTPD 1.4, je n’ai plus de problème de plantage, mon swap est à 0Ko (ça fessait longtemps !), la vitesse de chargement des pages est aussi rapide (voir plus dans certains cas). Je dors enfin sereinement !
Pour finir ce post très “j’ai enfin trouvé comment ne plus faire tomber mes sites” je voulais juste dire que Lighty (de son petit nom !) porte bien son slogan : Security, speed, compliance, and flexibility. Un soft qui mérite une meilleure place sur le marché des serveurs web (PDM d’environ 1.5%).

A part des utilisations très spécifiques (dont très peu de monde a besoin !) Apache peut (et doit ;) ) être remplacé par LightTPD. En effet tout ce qui est présent sous Apache l’est aussi sur Lighty. Le seul petit truc gênant est la non utilisation des fichiers .htaccess. Donc pour votre URLRewriting il faudra directement le mettre dans le fichier de configuration de Lighty.

Alors vous passez quand à LightTPD ?

11 juin

Apache: si ça plante c’est pas votre faute !

Posté dans Mes sites | Tags :, , , , | 2 Commentaires »


Quand on met en place Apache sur un serveur, il faut savoir le configurer pour avoir de bonnes performances. Mais il faut prendre en considération les pics. Personnellement je calcule comme ça :

  • Une page vue équivaut à environ 15 requêtes HTTP (css, images de fond, images, javascript et contenu dynamique).

Donc si vous avez 100 000 pages vues par mois cela fait 1 500 000 requêtes HTTP ce qui fait moins de 1 requête par seconde en moyenne ce qui est tout à fait supportable. Mais cette moyenne prend en compte la nuit, moments où pas grand chose se passe. Et donc il peut y avoir des crêtes dues aux horaires de fréquentation du site ou à cause d’un lien réalisé par un site à fort trafic. Et là c’est la découverte de la “cata Apache”, le serveur va tenir 20, 50 voire 150 requêtes simultanées puis “BOOM !”, un reboot salvateur sera généralement nécessaire jusqu’à la prochaine fois. Il est possible de retarder l’échéance avec deux trois artifices mais paradoxalement l’effet sera aggravé !

Pour mieux comprendre pourquoi tant de requêtes font tomber le serveur il faut savoir qu’Apache est écrit sur un principe Unix qui remonte à pas mal d’années. Un client vaut un processus (ou un thread), or un processus coûte très cher en mémoire, et en cas de charge on réalise vite que la vraie nature d’Apache est de remplir jusqu’au plantage votre Swap !

Donc même avec 8 cores et 32Go de Ram (j’exagère mais c’est l’idée !), vous ne pourrez pas avoir enormément de requêtes par secondes. Même si Apache est bien configuré.

Pour ceux qui seraient tenté de dire que le navigateur met en cache les données et ne les redemandent pas au serveur c’est vrai mais pour cela Apache crée quand même un processus avec un code 304 (content not modified). Donc on tourne en rond…

Une solution souvent utilisé est d’utiliser Apache pour le contenu dynamique et Lighttpd pour le statique. Oui mais..pourquoi utiliser deux logiciels alors que Lighttpd permet de faire du PHP ?

Je suis donc actuellement entrain de tester Lighttpd pour le contenu statique et dynamique (PHP5 via FastCGI). Je vous en dirais plus bientôt ! Mais d’après les premières constatations Lighttpd tient bien mieux qu’Apache.

 

3 juin

Benchmark PHP : comment coder léger

Posté dans Internet | Tags :, , , | 4 Commentaires »


L’une des chose les plus difficiles une fois que l’on sait coder dans un langage c’est l’optimisation. Par optimisation il y a bien entendu la légèreté du code, ce qui permettra par exemple de pas faire tomber votre serveur en l’exécutant !
Sans aller dans l’excès, avoir en tête quelques exemples d’optimisation de code pour le PHP est une bonne chose.

La première chose à savoir : il faut au maximum privilégier les “foreach” plutôt que les “while”. Pourquoi ? Regardez l’image !
php-bench2

Sur des petits scripts c’est négligeable mais quand vous commencez à écrire de belles pages, ça va commencer à faire chauffer le processeur !

Autre exemple. En ce qui concerne les tableaux. Il vaut éviter les tableaux très complexes (avec pas mal de dimensions), mais ça on s’en serait douter !

Si vous voulez tout savoir sur les performances de PHP, rendez-vous sur ce site.

5 mai

[Tuto] Installer son serveur Dédié

Posté dans Tutoriaux | Tags :, | Pas encore de commentaire »


A force d’installer des serveurs dédiés pour des amis j’ai décidé de faire une petite vidéo expliquant de A à Z l’installation d’un serveur dédié sous Debian 4, en s’aidant aussi de Webmin. Ne prenez pas tout au pied de la lettre, gardez un esprit critique, car même si je me débrouille en Linux je ne garantis pas toutes les manipulations. Maintenant allons y !

Get the Flash Player to see the wordTube Media Player.

Vous souhaitez télécharger le Tuto (format .mov) ? C’est ici.

Dans le Tuto je vous parle d’un fichier de configuration de proFTPd, le voici. Il y a des choses en plus, comme le virtualhost mais c’est pour vous donner une idée pour une prochaine configuration. Vous devez en plus éditer certaines choses.

ServerName                      “Debian”

ServerType                      standalone

 

ShowSymlinks                    on

MultilineRFC2228                on

DefaultServer                   on

ShowSymlinks                    on

MaxInstances                    30

 

Port                            21                

 

UseReverseDNS off

IdentLookups off                             

 

LogFormat                       traff “%b %u”

DefaultRoot                     ~             

                                                           

DenyFilter                      (\*.*/)|%                                              

                                     

<Global>

 

DeferWelcome                    off          

TimeoutNoTransfer               600           

TimeoutStalled                  600

TimeoutIdle                     1200          

 

PassivePorts                    50000 60000   

 

User                            nobody

Group                           nogroup

Umask                           022

 

 

AllowStoreRestart on                         

AllowRetrieveRestart on

AllowOverwrite on                       

 

 

</global>

 

<VirtualHost 10.18.140.71>

ServerName “Admin”

ServerAdmin votre.adresse@emaill.com

Port 21

MaxLoginAttempts 2

RequireValidShell no

ListOptions -A 

MaxClients 20

DefaultRoot ~

AllowOverwrite yes

<Limit LOGIN>

Order Allow,Deny

AllowUser votreuser                         

Deny from all                             

</Limit>

 

<Directory ~>

<Limit ALL>

AllowAll

</Limit>

</Directory>

</VirtualHost>

« Articles précédents




Articles récents

Nuage de Tags

Articles les plus populaires


Categories