ਕਈ ਡੋਮੇਨਾਂ ਵਿੱਚ Scrapy ਪ੍ਰੌਕਸੀ ਸਮਕਾਲੀਕਰਨ
ਜਦੋਂ ਕਈ ਟਾਰਗਿਟ ਡੋਮੇਨ ਇੱਕੋ ਪ੍ਰੌਕਸੀ ਕੋਟਾ ਵਰਤਦੇ ਹਨ ਤਾਂ ਡਾਊਨਲੋਡਰ ਦੀ ਗਲੋਬਲ ਸਮਕਾਲੀ ਸੀਮਾ ਵਰਤੋ, ਫਿਰ ਉਹੀ ਖਾਤਾ ਸਾਂਝਾ ਕਰਨ ਵਾਲੇ ਹੋਰ ਕ੍ਰਾਲਰਾਂ ਨੂੰ ਵੀ ਗਿਣੋ।
ਜੇ ਹਰ ਮੰਜ਼ਿਲ ਇੱਕੋ ਪ੍ਰੌਕਸੀ ਖਾਤਾ ਵਰਤਦੀ ਹੈ, ਤਾਂ ਉਸ ਖਾਤੇ ਦੀ ਸਮਕਾਲੀ ਬੇਨਤੀ ਦੀ ਆਗਿਆ ਉਹਨਾਂ ਸਾਰੀਆਂ ਮੰਜ਼ਿਲਾਂ ਵਿੱਚ ਖ਼ਰਚ ਹੋ ਸਕਦੀ ਹੈ। ਸਿਰਫ਼ ਪ੍ਰਤੀ-ਡੋਮੇਨ ਸੀਮਾ ਉਸ ਸਾਂਝੇ ਬਜਟ ਨੂੰ ਪ੍ਰਗਟ ਨਹੀਂ ਕਰਦੀ।
ਵੱਧ ਤੋਂ ਵੱਧ 20 ਸਮਕਾਲੀ ਬੇਨਤੀਆਂ ਦੀ ਆਗਿਆ ਦੇਣ ਵਾਲੇ ਇੱਕ ਕਾਲਪਨਿਕ ਖਾਤੇ ਲਈ ਥੋੜ੍ਹੀ ਜਗ੍ਹਾ ਛੱਡ ਕੇ ਕ੍ਰਾਲਰ ਦੀ ਗਲੋਬਲ ਡਾਊਨਲੋਡਰ ਸੀਮਾ ਸੈੱਟ ਕਰੋ:
CONCURRENT_REQUESTS = 16
ਇਹ ਇੱਕ ਉਦਾਹਰਨ-ਭਾਗ ਹੈ, ਹਰ ਪ੍ਰਦਾਤਾ ਲਈ ਸਿਫ਼ਾਰਸ਼ੀ ਮੁੱਲ ਨਹੀਂ। Scrapy CONCURRENT_REQUESTS ਨੂੰ ਡਾਊਨਲੋਡਰ ਦੀਆਂ ਵੱਧ ਤੋਂ ਵੱਧ ਸਮਕਾਲੀ ਬੇਨਤੀਆਂ ਦੀ ਸੰਖਿਆ ਵਜੋਂ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਪ੍ਰਤੀ-ਡੋਮੇਨ ਨਿਯੰਤਰਣ ਸਮਕਾਲੀਕਰਨ ਨੂੰ ਹੋਰ ਘਟਾ ਸਕਦੇ ਹਨ; ਪਰ ਗਲੋਬਲ ਉੱਪਰੀ ਸੀਮਾ ਦੀ ਥਾਂ ਨਹੀਂ ਲੈਂਦੇ।
ਹੋਰ ਕ੍ਰਾਲਰਾਂ ਨੂੰ ਵੀ ਗਿਣਤੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। ਦੋ ਸੁਤੰਤਰ ਕ੍ਰਾਲਰ, ਜਿਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਨੂੰ 16 ਬੇਨਤੀਆਂ ਦੀ ਆਗਿਆ ਹੈ, ਮਿਲ ਕੇ 20 ਦੀ ਸਾਂਝੀ ਆਗਿਆ ਤੋਂ ਵੱਧ ਸਕਦੇ ਹਨ। ਬਜਟ ਨੂੰ ਜਾਣ-ਬੁੱਝ ਕੇ ਵੰਡੋ ਜਾਂ ਜਿੱਥੇ ਉਹ ਕਲਾਇੰਟ ਮਿਲਦੇ ਹਨ ਉੱਥੇ ਸਾਂਝੀ ਸੀਮਾ ਲਾਗੂ ਕਰੋ।
ਇਹ ਵੀ ਤੈਅ ਕਰੋ ਕਿ ਪ੍ਰਦਾਤਾ ਕੀ ਗਿਣਦਾ ਹੈ। HTTP ਬੇਨਤੀਆਂ, ਖੁੱਲ੍ਹੇ TCP ਕਨੈਕਸ਼ਨ, ਸਰਗਰਮ ਟਨਲ ਅਤੇ ਪ੍ਰਤੀ ਸਕਿੰਟ ਬੇਨਤੀਆਂ ਵੱਖਰੀਆਂ ਮਾਤਰਾਵਾਂ ਹਨ। ਲਗਾਤਾਰ ਕਨੈਕਸ਼ਨ ਅਤੇ ਮਲਟੀਪਲੈਕਸਿੰਗ ਉਹਨਾਂ ਦੀ ਗਿਣਤੀ ਵੱਖ ਕਰ ਸਕਦੇ ਹਨ। ਇਸ ਲਈ ਬੇਨਤੀ-ਸਮਕਾਲੀ ਸੈਟਿੰਗ ਪੂਰੀ ਕਨੈਕਸ਼ਨ ਜਾਂ ਦਰ ਸੀਮਾ ਨਹੀਂ ਹੈ।
ਟਾਰਗਿਟ ਸਾਈਟ ਦੀ ਰਫ਼ਤਾਰ ਨੂੰ ਵੱਖਰੀ ਰੁਕਾਵਟ ਵਜੋਂ ਰੱਖੋ। ਪ੍ਰੌਕਸੀ ਖਾਤੇ ਵਿੱਚ ਨਾ-ਵਰਤੀ ਸਮਰੱਥਾ ਹੋਣ 'ਤੇ ਵੀ ਇੱਕ ਖਾਸ ਮੰਜ਼ਿਲ ਲਈ ਘੱਟ ਸਮਕਾਲੀਕਰਨ ਜਾਂ ਡਾਊਨਲੋਡ ਦੇਰੀ ਢੁੱਕਵੀਂ ਹੋ ਸਕਦੀ ਹੈ।