2012-11-22 11 views
7

Sto riscontrando una velocità di scansione lenta con scrapy (circa 1 pagina/sec). Sto eseguendo la scansione di un sito Web principale da server aws, quindi non penso che sia un problema di rete. L'utilizzo della CPU non è neanche lontanamente 100 e se avvio più processi di scrapy, la velocità di scansione è molto più veloce.Scrapy Crawling Speed ​​è lento (60 pagine/min)

Scrapy sembra strisciare un mucchio di pagine, quindi si blocca per alcuni secondi, quindi ripete.

Ho provato a giocare con: CONCURRENT_REQUESTS = CONCURRENT_REQUESTS_PER_DOMAIN = 500

ma questo non sembra davvero a spostare l'ago passato circa 20.

+0

quale versione graffiante? Qualche extent/middleware non predefinito? le pause potrebbero essere un codice di blocco, potresti fare qualcosa (ad esempio scrivere dati su DB, caricare su s3, ecc.) nel thread del reattore che blocca il scrapy? –

+0

@somewire check CPU | HDD | Utilizzo della rete con solo rottamazione senza analizzare la pagina con lxml. Imposta 'LOG_LEVEL = 'DEBUG'' – nk9

risposta

2

Sei sicuro si è permesso di strisciare la destinazione sito ad alta velocità? Molti siti implementano la soglia di download e "dopo un po '" iniziano a rispondere lentamente.

+0

Hai ragione se la richiesta restituisce 503 e se il server frontend è nginx http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html – nk9