Pregunta

Estoy construyendo un rastreador web a gran escala, ¿cuántas instancias son óptimas al rastrear una web cuando se ejecuta en un servidor web dedicado ubicado en granjas de servidores de Internet?

¿Fue útil?

Solución

spare_memory_on_machine / memory_footprint_of_crawler_process * 0.95

Otros consejos

Para hacer un rastreador a gran escala, tendrá que lidiar con algunos problemas como:

• Imposibilidad de mantener la información en una sola base de datos.

• No hay suficiente RAM para lidiar con grandes índices

• Rendimiento y concurrencia multiproceso

• Trampas de rastreo (bucle infinito creado al cambiar las URL, calendarios, identificadores de sesión ...) y contenido duplicado.

• Rastrear desde más de una computadora

• Códigos HTML mal formados

• Errores http constantes de los servidores

• Bases de datos sin compresión, lo que hace que su necesidad de espacio sea aproximadamente 8 veces mayor.

• Volver a rastrear rutinas y prioridades.

• Use solicitudes con compresión (Deflate / gzip) (bueno para cualquier tipo de rastreador).

Y algunas cosas importantes

• Respetar el archivo robots.txt

• Y un retraso del rastreador en cada solicitud para no sofocar los servidores web.

La configuración óptima de Thread dependerá de su código. Estoy ejecutando 100 procesos con .net. Le recomiendo que use una clase de programación para evitar hilos abiertos innecesarios.

PS. Si está utilizando 5 hilos, tardará años en llegar a '' gran escala '' rastreo web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top