Tag

bande passante

Browsing

Toujours à la recherche de ce qui peut optimiser le chargement du site et soulager le serveur, je vous donne ma configuration du fichier htaccess en ce qui concerne les permalinks (ou permaliens en français correct) de WordPress.

Code de base WordPress 3.x

Voici le code htaccess standard de WordPress 3.x :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Vous avez très certainement remarqué que l'accès au site a été très instable ces derniers jours. Voici ce qui s'est passé, dans l'ordre des évènements.

Dimanche 21 février, je constate que le site rame vraiment. Cela fait déjà deux jours que je l'avais remarqué mais là, il faut quasiment 30 secondes pour que le site s'affiche. Je contacte mon hébergeur. 20 minutes plus tard, tout le site est down, affichant des erreurs 403 (forbidden). Même Cpanel est interdit, plus de FTP. Une heure plus tard, l'accès revient et le site regagne en vitesse. Satisfait, je fais quelques sauvegardes.

6 heures plus tard, une belle page "this account has been suspended" apparaît à la place du site.

Un mois à peine après être passé sur un compte Elite, voici que SkyMinds.Net a besoin de toujours plus de bande passante ! Ce n'est donc plus 20 Go, ni 30 Go mais bien 60 Go de bande passante que le site va désormais pouvoir utiliser afin de fonctionner dans de bonnes conditions. Un petit graphique pour expliquer la situation :

Trafic 2007

Au mois de novembre, nous avons accueilli 106 281 visiteurs uniques sur 137 371 visites et servi 533 834 pages. Merci à HU pour avoir mis le site à niveau en moins d'une heure.

Prochaine étape, le serveur dédié ? Ensuite, ce sera la création d'une société d'hébergement ! ;-)

1337 account !!!Après être passé en compte premium en avril 2006 et après le constat d'augmentation de bande passante consommée en juin 2007, SkyMinds.Net vient de passer sur un compte Elite.

Alors vous vous demandez peut-être ce que cela va changer ? Et bien en fait, pas grand chose ! Au lieu des 20 giga-octets de bande passante mensuel, le site pourra désormais consommer jusqu'à 30 Go sans que Cpanel m'inonde de mails m'informant du dépassement de forfait.

Le plus drôle, c'est que je me demande bien qui peut consommer autant de bande passante ! La consommation moyenne quotidienne est de 800 Mo (!) et il n'y a pourtant aucun fichier en téléchargement qui pèse plus de 30 Ko sur le site... La majeure partie des spam bots est filtrée aux portes du serveur. Le mystère reste donc entier !

fibre optiquePlus le temps passe et plus votre site consomme de bande passante ? Et oui, c'est le risque à prendre lorsque l'on devient populaire ! Voici donc quelques astuces pour réduire votre consommation de bande passante et, par le biais de quelques optimisations, accélérer la vitesse de votre site pour le confort de vos visiteurs.

L'optimisation fait partie d'un tout : images, code, feuilles de style, requêtes SQL... tout joue sur la navigation et la réactivité du site.

Allez, je vous fait grâce du petit jeu de mot contenu dans le titre de cet article !

SkyMinds.Net attire de plus en plus de visiteurs (pas mal de spammers aussi, même si on ne les voit pas) et consomme de plus en plus de bande passante. Cela pourrait quasiment passer inaperçu si ce n'est le fait que ma boîte mail est bombardée de messages m'informant que le site a atteint 80% de sa bande passante à une semaine de la fin du mois. Du coup, j'ai farfouillé un peu dans mes stats et, quelques copiés-collés plus tard, voici la découverte que j'ai faite :

Bandwidth 2004-2006

La bande passante a doublé de 2004 à 2005 puis quadruplé de 2005 à 2006 ! Prévisions pour 2007... euh... le téra-octet ?

SkyMinds.Net est littéralement en train d'exploser son quota de bande passante mensuel. Je ne peux pas vraiment expliquer le phénomène mais toujours est-il que les stats montrent une évolution assez flagrante. Voici l'évolution en image depuis 2004 pour le mois d'avril :

Bandwidth 2004-2006

Les chiffres présents dans ce tableau ne prennent en compte que le trafic vu et ignorent totalement le traffic POP, FTP et les requêtes des moteurs de recherche (qui consomment quand même 1.5 Go !). Et le mois de mai s'annonce terrible : 6.84 Go déjà consommé à la moitié du mois seulement, je crois que nous allons battre un nouveau record !

J'ai tenté la semaine dernière d'enrayer un peu le flot en mettant en place quelques mesures : fermeture des posts qui commençaient à devenir assez longs - le tutoriel sur la webradio avec Icecast et Winamp approchait les 400 commentaires -, la mise à jour du code anti-hotlink pour éviter que les images ne se retrouvent sur d'autres sites, suçant outrageusement cette précieuse bande passante; et enfin, la réduction des quelques images les plus utilisées sur le site. Etant donné que pas mal de gens utilisent ces images sans demander aucune autorisation, je me suis amusé à ajouter des watermarks sur les plus populaires, histoire de rendre à Matt ce qui lui appartient ;-)

Apparemment, ces mesures n'ont pas suffit : j'ai dû mettre à jour mon compte hier vers le compte premium, qui m'offre désormais 20 Go par mois. Mine de rien, c'est assez plaisant de voir que le site tourne bien. Bientôt l'introduction en Bourse, je vous le dis !

GhostBusterJ'ai récemment eu affaire à des voleurs de contenu et après avoir contacté le service des abus de MSN, j'ai reçue une réponse pré-formattée comme quoi il fallait que j'envoie tous les justificatifs et tous les détails prouvant mon identité à Microsoft par courrier postal. Mas bien sûr... et la marmotte...

Etant donné que je n'allais recevoir aucune aide de leur part, j'ai retroussé mes manches et me suis appliqué à trouver une solution.

Tout d'abord, j'ai revu le code .htaccess qui était censé prévenir le hotlinking mais qui visiblement ne fonctionnait pas : j'ai laissé tomber les règles mod_rewrite pour SetEnvIfNoCase, beaucoup plus efficace :

#
# Hotlink control - by SkyMinds.Net
#
SetEnvIfNoCase Referer "^http://www.monsite.net" local_referal
SetEnvIfNoCase Referer "^$" local_referal

<filesmatch ".(gif|jpe?g|png)$">
	Order Deny,Allow
	Deny From All
	Allow from env=local_referal
</filesmatch>

ErrorDocument 403 /403.shtml

Explications

Etant donné que les indélicats copient le code HTML des textes avec l'adresse des images, ils affichent de ce fait mes images sur leur site, ce qui ne leur coûte rien mais qui gaspille ma bande passante. Que je paye chaque mois.

L'astuce consiste donc à vérifier que la page qui fait appel aux images réside sur mon domaine. Dans le cas contraire, l'indélicat voleur reçoit une erreur 403 : les images ne s'affichent plus sur son site et notre bande passante n'est plus inutilement gaspillée. Résultats : happy webmaster :)

Non mis en place ici mais cela pourra en intéresser quelques uns : Smarter Image Hotlinking Prevention.

Hotlink Tests and Tools

Vous avez un site web mais votre bande passante est limitée ? Vous proposez des images sur votre site et des dizaines de personnes mettent ces images dans leur signature sur une vingtaine de forum différents ? Résultat : votre bande passante mensuelle fond à vue d'oeil, lentement et sûrement...

La solution contre ce fléau (le hotlinking) consiste à se servir du module mod_rewrite de votre serveur Apache avec un fichier .htaccess : voici un très bon tutorial pour afficher l'image de votre choix à la place de vos images tant convoitées.

Rapport de faute d’orthographe

Le texte suivant sera envoyé à nos rédacteurs :