Jak poprawić prędkość pobierania scrapy?

Używam scrapy do równoległego pobierania stron z wielu różnych domen. Mam setki tysięcy stron do pobrania, więc ważna jest wydajność.

Niestety, jak określiłem szybkość zeskrobywania, otrzymuję tylko kilka stron na sekundę. Naprawdę średnio około 2 stron na sekundę. Wcześniej pisałem własne pająki wielowątkowe, aby wykonać setki stron na sekundę. Pomyślałem, że użycie skrętu itp. W scrapie będzie zdolne do podobnej magii.

Jak przyspieszyć zeskrobywanie? Bardzo podoba mi się ten schemat, ale ten problem z wydajnością może być dla mnie przełomowy.

Oto odpowiednia część pliku settings.py. Czy jest jakieś ważne ustawienie, które przegapiłem?

LOG_ENABLED = False
CONCURRENT_REQUESTS = 100
CONCURRENT_REQUESTS_PER_IP = 8

Kilka parametrów:

Używanie scrapy w wersji 0.14Projekt jest wdrażany w dużej instancji EC2, więc powinno być dużo pamięci, procesora i przepustowości.Planuję indeksowanie za pomocą protokołu JSON, utrzymując robota indeksującego w kilkudziesięciu jednoczesnych indeksowaniach w dowolnym momencie.Jak powiedziałem na początku, ściągam strony z wielu witryn, więc wydajność serwera zdalnego i CONCURRENT_REQUESTS_PER_IP nie powinny być problemem.Na razie robię bardzo mało post-processing. Brak xpath; brak regex; Po prostu zapisuję adres URL i kilka podstawowych statystyk dla każdej strony. (To się zmieni później, gdy dojdzie do załamania podstawowych wyników).

questionAnswers(1)

yourAnswerToTheQuestion