Articles Taggés ‘mysql’

Monter un serveur mail avec Postfix et MySQL

14 juillet 2009

Introduction

Voici un article attendu par 2 ou 3 personnes !! :-P

Cet article à été réalisé suite à la mise en œuvre de cette architecture sur mon RPS [Real Private Server] de chez OVH.

La procédure décrite ici est très certainement applicable à la majorité des serveurs, et la majorité des Linux. A vous de l’adapter si besoin ;)

» En lire plus:Monter un serveur mail avec Postfix et MySQL

Optimisation d’un serveur web

28 mai 2009

Par défaut, les applications qui permettent de faire tourner votre serveur LAMP font tourner vos sites wouaibe facilement.
Mais, coté performances, il faut traiter chacun son propre cas.
C’est à dire, que selon votre mémoire, votre CPU, etc… vous devez adapter les paramètres.

Mais il existe quelques optimisations, qui n’en dépendent pas, et qui vous permettrons d’améliorer un p’ti’ peu, la rapidité de réponse de vos sites.

Coté MySQL, il est apparemment utile de désactiver InnoDB… Personnellement je ne l’ai pas fais, car je ne sais pas ce que c’est, et j’ai pas le temps, là tout de suite, de m’y intéresser.

Par-contre, coté PHP, il y a 2 choses faisables :

  1. Augmenter la taille maximal de la mémoire utilisée entre PHP et Apache.
  2. Utiliser memcached, pour gérer d’une autre manière la mémoire.

Le premier point se faire très simplement:

sudo nano /etc/php5/apache2/php.ini

Puis, rechercher (CTRL+W)  »

1
memory_limit

 » et changer la valeur par défaut (16) en 64.

Le second point consiste juste en l’installation de memcached et d’un module pour php pour qu’il utilise ce dernier:

sudo apt-get install php5-memcache memcached

Maintenant, il ne reste plus qu’a redémarrer apache:

sudo /etc/init.d/apache2 restart

Vous devriez voir une amélioration.

Source: http://blog.bodhizazen.net/linux/optimize-wordpress-for-speed/

MySQL: Maintenance automatique avec log

22 avril 2009

Je vient de constater dans mes logs que MySQL râle sur quelques tables…
C’est plus exactement mysqlcheck qui est à l’origine de ces messages.

J’ai donc trouvé comment corriger tout ca en ligne de commande … et comme je n’aime pas faire 2 fois la même chose … ont va laisser notre serveur se débrouiller seul ! :-)
( C’est un grand garçon maintenant !! xD )

Donc, je vais utiliser cron.

Disons que nous l’exécuterons 1 fois tout les jours, à 1h du matin… Ca sera très suffisant.
Je vais demander à mysqlcheck de vérifier toutes les tables (A), de les analyser (a), de les optimiser (o) et surtout de les réparer automatiquement (–auto-repair).

Donc la commande :

[sourcecode language="bash"]
mysqlcheck -Aao –auto-repair -u root -p[password]
[/sourcecode]

La commande retourne des lignes avec OK si il y a eut des changements, et sinon Table is already up to date.
Sachant ceci, il reste plus qu’a utiliser grep ! ;-)

Création du Job Cron !

Rien de bien compliqué !
On ouvre le registre des jobs:
[sourcecode language="bash"]
sudo crontab -e
[/sourcecode]

Là on ajoute cette ligne :
[sourcecode language="bash"]
0 1 * * * mysqlcheck -Aao –auto-repair -u root -pvotre_mot_de_passe | grep OK > /var/log/mysqlcheck.log
[/sourcecode]

Et maintenant, tous les jours, à 1h du matin, il exécutera ma commande, et écrira dans le fichier de log les lignes qui ressortent en OK ! :-)