Linux/SSH : Quel crawler pour générer le cache de mon site ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 15:08

Bonjour,

J'ai un site dont le calcul des pages est très long (de l'ordre de 3 secondes) car les traitements sont très complexes. La page reste valide 24h donc je la met en cache après sa première génération (en PHP je vide le contenu du buffer dans un fichier statique qui sera appelé la prochaine fois). Le temps de génération passe de 3 secondes à 0.09 secondes. C'est parfait.

Tous les soirs à 3h je vide le cache pour le renouveler.

Question : comment faire pour forcer la génération du cache pendant la nuit (période de faible charge) ?
Il faudrait que je crawle certaines pages, mais pas toutes. Quel outil (crawler) utiliser pour ça ? Comment procédez vous ?
J'ai un serveur sous Linux OVH Release 2.
Actuellement sur ma version de test je crawle manuellement sur Windows avec Xenu.

Question bonus sur Xenu : comment faire pour que Xenu ne crawle pas les images, ni les fichiers CSS/JS ?

Un grand merci


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 15:09

wget: http://fr.wikipedia.org/wiki/Wget

# Télécharge le contenu entier de exemple.fr
wget -r -l 0 http://www.exemple.fr/


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 15:17

Merci Spout, décidément tu es partout.

Tout simplement wget ? Bon. Reste plus qu'à trouver comment lui faire crawler tout le site SAUF *.gif, *.jpg, *.png, *.css, *.js, /dossier-specifique/, /url-specifique.html

Il prend les regex ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 15:21

RTFM :mrgreen:

http://doc.ubuntu-fr.org/wget
-A –> Permet de ne télécharger que le type de fichier choisi.


aladdin
WRInaute passionné
WRInaute passionné
 
Messages: 1457
Inscription: 29 Avr 2005

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 16:42

et pourquoi pas un cache qui se met en place lors du premier accès à une page par un visiteur tout simplement ? le premier visiteur attendra 3s mais les autres non ...


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 17:00

aladdin a écrit:et pourquoi pas un cache qui se met en place lors du premier accès à une page par un visiteur tout simplement ? le premier visiteur attendra 3s mais les autres non ...

C'est déjà le cas. Mais si ce premier est Google Bot, il risque de ne pas aimer d'attendre 3 secondes par pages...
RTFM :mrgreen:
Oui désolé mais je suis dans le train sur iphone et ma connexion edge saute toutes les 15 secondes.

Merci pour les infos


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 17:35

il faut mettre en place un cron qui fait un wget de chacune des pages à rafraichir.
Tu peux mettre prévoir un paramètre spécial à ton url qui va regénérer le cache automatiquement. C'est ce que j'ai fait sur un site. J'appelle l'url monsite.com/url-a-regenerer.htm?cache_renew
et dans mon code j'ai :
Si cache trop vieux ou si paramètre $_GET['cache_renew'] existe alors remplace le cache.


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 18:16

C'est à n'y rien comprendre. wget -r http://www.monsite.com/ --delete-after -nd
ne trouve que l'index.html et s'arrête... Sur mes autres sites je n'ai pas le problème.
C'est fou !

Forty, je fais plus simple : accès à la page. Existe t il un cache statique ? Si oui, on le délivre et on arrête, sinon, on le génère et on le stocke. Et tous les soirs à 3h un rm -r /cache/*
Ca fonctionne très bien sur tous mes sites.
Mais là il faut vraiment que je crawle le site car sans cache il est très lent.


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 20:07

Forty, je viens de comprendre ce que tu disais. Effectivement c'est mieux. Tu génères le fichier cache en utilisant PHP et fopen, fwrite, fclose ou tu te sers du fichier généré par wget ?


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19595
Inscription: 8 Aoû 2004

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 20:36

milkiway a écrit:Tu génères le fichier cache en utilisant PHP et fopen, fwrite, fclose
moi, c'est comme cela que je gère mes mises en cache : ça me permet de rajouter à ce cache des éléments à la volée


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1701
Inscription: 30 Oct 2008

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 22:21

milkiway a écrit:Forty, je fais plus simple : accès à la page. Existe t il un cache statique ? Si oui, on le délivre et on arrête, sinon, on le génère et on le stocke. Et tous les soirs à 3h un rm -r /cache/*

c'est ce que je fais mais je ne supprime pas mes caches. J'ai deux méthodes pour faire la mise à jour : quand le cache a plus de X heures ou quand j'ai un certain paramètre GET qui force la mise à jour. WGET permet d'appeler une page avec ce paramètre qui fait la mise à jour du cache. Il faut donc faire un script qui fait une boucle avec autant de WGET que de cache à rafraîchir.


milkiway
WRInaute accro
WRInaute accro
 
Messages: 4910
Inscription: 3 Fév 2004

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Lun Mar 28, 2011 23:02

Le temps que tu me répondes c'est ce que j'ai fait. C'est bien mieux que mon précédent système merci pour l'idée.
La dernière étape sera carrément d'utiliser wget pour générer le cache (et non PHP) pour aller encore plus vite.

Et pour wget en boucle, impossible avec mes 26000+ URL. J'ai écrit un script qui liste la totalité des pages qui ont besoin d'être rafraichies la nuit tous les jours, le reste sera rafraichi par l'utilisateur.

Merci !


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Mar Mar 29, 2011 0:21

J'avais publié ça :
http://forum.webrankinfo.com/sitemap-crawler-pour-pre-mise-cache-t132400.html

En clair ça ça crawl tout ce qui est dans ton sitemap.

A noter que tu peux aussi te baser sur ta liste en changant un peu le "parsing" du sitemap si par exemple tu as un "url list".


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19595
Inscription: 8 Aoû 2004

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Mar Mar 29, 2011 8:27

Après, reste à voir s'il est nécessaire de recréer le cache toutes les 24h. Sur mes sites, le cache est regénéré intégralement à la demande, mais sinon, je supprime la version en cache quand des changements surviennent pour cette page, dans le cas contraire, le cache peut servir plusieurs jours.


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: Linux/SSH : Quel crawler pour générer le cache de mon site ?

Message le Mar Mar 29, 2011 9:55

Les traitements complexes c'est quoi ? Requêtes SQL ? Parsing XML ? Autre ?
Il faut penser qu'il y a 3 types de cache, et tous mis ensemble ça boost bien:
- Cache de l'output
- Cache de datas
- Cache d'Opcode

Linux/SSH : Quel crawler pour générer le cache de mon site ?

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité