Développement d'un crawler - comment gérer la charge?

WRInaute impliqué
Bonjour,

Je développe un crawler pour indexer des petites annonces.
J'ai mis au point les algo et les requêtes pour que le crawler puisse recueillir les informations recherchées.
Il va falloir maintenant lancer ces requêtes, les traiter etc...
Je n'ai aucune idée sur la façon de lancer ces requêtes... (je voudrais éviter d'utiliser un CRON...)...
Comment faire en sorte de ne pas surcharger le site en cours de crawl??? Quelles sont en général les règles à adopter pour que le crawl ne gêne pas le site crawlé?

Autre question aussi:
Existe-il des développements open à reprendre? Pour l'instant je ne trouve rien car la plupart du temps les outils d'indexation font une indexation full text et ce n'est absolument pas ce que je recherche, je fais moi même mon indexation maison avec génération des méta données...
 
WRInaute discret
"sleeping 1 seconde between each request..."

tu places un truc de ce genre sinon les serveurs n'aiment pas, c'est un minimum.

Ytz
 
WRInaute passionné
tout dépend du site que tu crawl, il est sans doute probable que les gros sites n'y voit que du feu en terme de charge sauf si il tourne sur des serveurs à 4Mo de RAM et un 486 en CPU. Donc, c'est plutôt eux qui verront les limites de ta machine.

Enfin après si tu vises de nombreuses pages dans la même seconde avec des processus multiples de crawl, ils peuvent peut être sentir un ralentissement (imagines s'ils t'envoient 2000 annonces simultanément).

Ensuite si ils ont des outils adéquates et qu'il ne sont pas tellement d'accord par rapport à ce que tu fais. tu pourras être verrouillé complétement ou limité.
 
Discussions similaires
Haut