[Terminé] Nouveau serveur en préparation
Je viens de commander un nouveau serveur pour faire ce que je veux faire.
Ce serveur stockera uniquement les données FTP, établira instantanément les quotas pour tous les hébergés et avec de la chance, permettra de créer des serveurs WEB satellite à celui-ci pour répartir la charge.
Cette annonce est la suite de cette maintenance :
viewtopic.php?id=1140
Ça fait plaisir ouice-delariviere a écrit :Cool, en tout cas, super les temps de réponse des pages web depuis le changement de serveur...
J'arrive actuellement à mettre à jour les quotas des hébergés toutes les 30 minutes quand ça vas bien et 1 heure lorsqu'il y a de la charge. Je vais faire en sorte de passer ce temps à moins de 5 minutes.
Le quota du trafic Web est lui mis à jour toutes les heures comme il se base maintenant sur Awstats (on n'a pas besoins de plus de précision pour celui-ci).
Le nouveau serveur FTP avec quota instantané me sera livré demain matin. Il me faudra plusieurs jours pour installer l'ensemble et procéder de nouveau à des essais. Pas de perturbation de votre coté de prévu pour le moment.
J'ai alors crée pour les tests, un nouveau serveur Web que je nomme (serveur web satellite) car il est très léger, il peut être placé où j'en aurai besoin et tourne autour d'un autre serveur qui lui conserve toutes les données utilisateurs. Ainsi, les quotas disques ne tournent pas sur le serveur Web et que ce soit le serveur Web ou le serveur de fichiers, ils gagneront tout deux en performances.
Il faut maintenant que je gère les journaux des différents serveurs Web (lorsqu'il y en aura plusieurs) pour qu'ils soient à la fois répartis par serveur Web et également centralisés sur le serveur de fichiers à chaque rotation de log toutes les heures. Un autre serveur satellite qui ne s'occupera que des statistiques Awstats s'appuiera sur les journaux se trouvant sur le serveur de fichiers pour ne pas gêner le serveur Web.
Lorsque que la partie web sera faite, je m'occuperai d'un autre serveur qui ne s'occupera que de l'administration (création et gestion des comptes utilisateurs) ainsi que des alertes par mails.
Bref, ça fonctionne enfin comme je veux
Ce système se nomme Varnish, je l'ai testé hier et c'est vraiment efficace. Le soucis actuel est qu'il met tout en cache pour x secondes, ça signifie que l'on a beau actualiser la page, si la page est dynamique en affichant l'heure via PHP par exemple, les secondes ne défilent pas. Pour pallier à cet inconvénient, Varnish se base sur les headers du site et notamment sur les fonctions header("Expires: $gmt"); et header("Cache-Control: $options"); de PHP :
Code : Tout sélectionner
<?php
cache_control( "public,max-age=10");
expires( to_gmt( time() + 10 ) );
function to_gmt( $now = null ){
return gmdate( 'D, d M Y H:i:s', ( $now == null ) ? time() : $now );
}
function last( $gmt ){
header("Last Modified: $gmt");
}
function expires( $gmt ){
header("Expires: $gmt");
}
function cache_control( $options ){
header("Cache-Control: $options");
}
?>
De plus, Varnish semble pouvoir faire reverse-proxy. Y a-t-il aussi un objectif de sécurité dans sa mise en place chez FS?
Bon courage pour la config!
Tue Feb 21 16:20:19 CET 2012 - Récupération des quotas FTP sur le disque ...
Tue Feb 21 16:20:20 CET 2012 - Récupération des quotas FTP sur MySQL ...
Tue Feb 21 16:20:20 CET 2012 - Calcul des différences ...
Tue Feb 21 16:20:20 CET 2012 - Importation des requêtes MySQL ...
Tue Feb 21 16:20:31 CET 2012 - Calcul des quotas FTP terminé !
Et comme vous pouvez le voir, le script tourne pendant 12 secondes ! (au lieu de 45 minutes actuellement). De plus, le calcul de différence est encore assez long actuellement (vu que ce script n'est pas encore en production), la précision sera alors bien plus grande et les différences plus minimes. Le script tournera en plein régime pendant environ 6 secondes je pense.
Je pourrai alors vous donner vos quotas toutes les minutes. Les quotas obtenus depuis le FTP seront par contre instantanés.
Je viens de terminer la mise en place du système de cache sur la nouvelle plateforme Web (une VE Varnish+HAProxy en frontend du serveur Web satellite) et c'est du tonnerre
Une image s'affiche en 0.075 secondes au lieu de 0.110 secondes. Sera alors en cache : tous les éléments statiques, que ça soit pages html, images, css, js, flash etc ... (et pas les pages PHP pour ne pas perturber).
Je pense mettre en production cette nouvelle plateforme, au vu de ma progression, dans 1 semaine à peu près ...
Je vais me coucher maintenant