2009-06-21 9 views
0

Pour créer un robot d'indexation à grande échelle, combien d'instances sont optimales lors de l'exploration d'un site Web lors de son exécution sur un serveur Web dédié situé dans des batteries de serveurs Internet.instances de crawler

+3

Allez-vous explorer le * web? Ou un intranet? Une fois que? Toutes les deux minutes? Dans quel but? Votre question est trop vague pour qu'on y réponde sérieusement. S'il vous plaît élaborer un peu. – balpha

+0

recherche semi-verticale. rampez sur Internet avec un format d'index personnalisé. ma cible est d'indexer une fois par semaine. en utilisant libcurl, libxml2 et sqlite (pour la file d'attente d'url). les derniers essais s'avèrent très stables avec 5 fils (chenilles à filetage multiple avec indexeur à filetage unique) – kar

Répondre

3

spare_memory_on_machine/memory_footprint_of_crawler_process * 0.95

4

Pour faire un grand robot d'exploration à grande échelle, vous aurez à traiter des questions telles que:

• Impossibilité de garder les informations en une seule base de données.

• Pas assez de RAM pour traiter avec l'index énorme (s)

• Les performances multithread et concurrency

• pièges à chenilles (boucle infinie créée en changeant urls, calendriers, séances ids ...) et en double contenu.

• Crawl de plus d'un ordinateur

• codes HTML malformés

• erreurs HTTP constantes à partir de serveurs

• Bases de données sans compression, wich font votre besoin d'espace sur les 8x plus grand.

• Réexécuter les routines et les priorités.

• Utilisez les requêtes avec compression (Deflate/gzip) (bon pour tout type de moteur de balayage).

Et certaines choses importantes

• Respect robots.txt

• Et un retard de robot sur chaque demande de DonT Suffocate serveurs web.

La configuration optimale du Thread dépendra de votre code. Je suis en train d'exécuter 100 process avec .net. Je vous recommande d'utiliser une classe de planification pour éviter les threads ouverts inutiles.

PS. Si vous utilisez 5 threads, vous devrez attendre des années avant d'atteindre l'exploration Web «à grande échelle».