Tek bir IP ile yapılan işler bir noktada duvara toslar: hedef site istek sayısını fark eder, hız sınırı uygular ve sonunda engeller. Proxy havuzu, bu sorunu çözmek için birden çok çıkış IP'sini tek bir mantıksal kaynak gibi yöneten yapıdır. İyi kurulmuş bir havuz, istekleri dağıtır, sorunlu IP'leri devre dışı bırakır ve başarısızlıkları otomatik telafi eder.
Bu yazıda havuzun teknik bileşenlerini, boyutlandırma mantığını ve üretim ortamında işe yarayan yönetim desenlerini ele alıyoruz.
Havuz Kaç Katmandan Oluşur?
Bir proxy havuzu yalnızca "IP listesi" değildir. Üretimde çalışan bir havuz en az dört bileşen içerir:
Geri bildirim katmanı olmayan bir havuz kısa sürede körleşir: sağlıksız IP'ler kullanılmaya devam eder ve başarı oranı düşer.
Havuz Boyutu Nasıl Hesaplanır?
"Kaç IP lazım?" sorusunun tek bir yanıtı yok ama hesaplanabilir bir çerçevesi var. Üç değişkene bakın: hedefin IP başına tolere ettiği istek hızı, sizin toplam istek hızınız ve istediğiniz güvenlik payı.
Örnek: saniyede 20 istek atacaksınız ve hedef site IP başına saniyede 0,5 isteği sorunsuz kabul ediyor. Kaba hesap: 20 / (0,5 × 0,7) ≈ 57 IP. Buradaki 0,7 katsayısı, herhangi bir anda havuzun bir kısmının karantinada veya yavaş olacağı varsayımıdır.
IP başına güvenli hızı tahmin etmeye çalışmak yerine ölçün. Küçük bir havuzla başlayıp hız sınırını tetikleyen eşiği deneysel olarak bulmak, büyük bir havuzu baştan satın almaktan çok daha ucuzdur.
Sağlık Kontrolü: Neyi Ölçmeli?
Bir IP'nin "çalışıyor" olması yeterli değildir; işinize yarayacak kadar iyi olması gerekir. Pratikte dört metrik izlenir:
| Metrik | Ne ölçer | Tipik eşik | Eşik aşılırsa |
|---|---|---|---|
| Canlılık | TCP bağlantısı kuruluyor mu | 3 ardışık başarısızlık | Karantinaya al |
| Gecikme | İlk bayta kadar geçen süre | Havuz medyanının 3 katı | Ağırlığı düşür |
| Başarı oranı | 2xx dönen istek yüzdesi | %85 altı | Gözlem listesine al |
| Engellenme | 403 / 429 / CAPTCHA oranı | %10 üstü | Uzun karantina |
Sağlık kontrolünü hedef siteye karşı değil, nötr bir uç noktaya karşı yapmak önemlidir. Hedefe atılan her sağlık isteği, gerçek işiniz için ayrılmış bütçeden yer. Bizim proxy kontrol aracımız tam olarak bu amaçla nötr bir kontrol noktası kullanır ve çıkış IP'si ile anonimlik seviyesini birlikte raporlar.
Bir IP'yi kalıcı olarak silmek yerine kademeli karantinaya almak, geçici ağ sorunlarında havuzu gereksiz yere küçültmenizi önler.
Seçim Stratejileri
Havuzdan IP seçmenin birden çok yolu vardır ve seçim mantığı doğrudan başarı oranını etkiler:
Round-robin (sıralı)
En basit yöntem: IP'ler sırayla kullanılır. Öngörülebilir ve adildir ama hız farklarını hesaba katmaz; yavaş bir IP kuyruğu yavaşlatır.
Ağırlıklı rastgele
Her IP'ye başarı oranı ve gecikmeye göre bir ağırlık verilir; seçim bu ağırlıklara göre rastgele yapılır. Üretimde en çok tercih edilen dengeli yöntemdir.
En az kullanılan
O anda en az açık bağlantıya sahip IP seçilir. Uzun süren isteklerin olduğu işlerde yükü gerçekten dengeler.
Yapışkan eşleme (sticky)
Belirli bir oturum veya hesap hep aynı IP'ye bağlanır. Giriş yapılan işlerde zorunludur; rotasyon mantığıyla birlikte kurgulanır.
Ağırlıklı seçim, havuzun "kendini iyileştirmesini" sağlar: kötü performans gösteren IP'ler kendiliğinden daha az kullanılır.
Karantina ve Geri Alma Mantığı
Bir IP'nin 429 (Too Many Requests) alması onun bozuk olduğu anlamına gelmez; yalnızca o hedef için geçici olarak fazla kullanıldığını gösterir. Bu yüzden karantina hedef bazında tutulmalıdır. Aynı IP başka bir alan adı için hâlâ mükemmel çalışıyor olabilir.
Pratik bir karantina şeması:
- 429 / 503: o hedef için 60 saniye ara ver, ardından tek istekle dene.
- 403 kalıcı: o hedef için 6 saat karantina; başka hedeflerde kullanmaya devam et.
- CAPTCHA: oturumu kapat, yeni IP ile yeni oturum aç; aynı IP'yi 30 dakika kullanma.
- Bağlantı hatası: IP genel olarak sorunlu; tüm hedefler için 5 dakika karantina.
Havuz Kaynaklarını Karıştırmak
Tek tip IP'den oluşan havuzlar kırılgandır. Çoğu ciddi operasyon karma bir havuz kurar:
Her isteği en pahalı havuza göndermek maliyeti gereksiz yere büyütür. Kademeli yükseltme (önce ucuz, başarısızsa pahalı) çoğu operasyonda maliyeti yarıya indirir.
Bu kademeli model, hedefin zorluk derecesine göre kaynak seçmenizi sağlar. Farklı proxy türlerinin güç ve maliyet dengesi için residential ve datacenter karşılaştırmamıza, tür seçimi için residential, ISP ve datacenter ürün sayfalarımıza bakabilirsiniz.
Havuz Yönetiminde Sık Yapılan Hatalar
Doğru alışkanlıklar
- Sağlık kontrolünü hedeften bağımsız bir uç noktaya yapmak.
- Karantinayı hedef bazında tutmak.
- Havuz metriklerini (boyut, sağlıklı oran, medyan gecikme) sürekli loglamak.
- Rotasyonu istek sayısına değil, sonuca göre tetiklemek.
- Oturum gerektiren işlerde sticky eşlemeyi zorunlu kılmak.
Sık yapılan hatalar
- Başarısız IP'yi kalıcı silmek — havuz zamanla erir.
- Tüm hedefler için tek karantina listesi tutmak.
- Sağlık kontrolünü gerçek hedefe yapıp kotayı tüketmek.
- Havuzu gereğinden büyük tutup maliyeti şişirmek.
- Oturum ortasında rotasyon yapıp girişleri düşürmek.
Küçük Bir Havuz Yöneticisi İskeleti
Bu iskelet üretim için yeterli değildir (kalıcılık, eşzamanlılık kilidi ve hedef bazlı karantina eksiktir) ama mantığı net gösterir: seçim ağırlığa, ağırlık sonuca bağlıdır.
Özet
Proxy havuzu, IP listesi değil; kayıt, sağlık kontrolü, seçim ve geri bildirim döngüsünden oluşan küçük bir sistemdir. Havuz boyutunu hedefin tolerans eşiğinden hesaplayın, karantinayı hedef bazında tutun, seçimi sonuç metriklerine bağlayın ve kaynakları maliyet sırasına göre kademelendirin. Havuzunuzdaki adresleri toplu olarak test etmek için proxy kontrol aracını kullanabilir, ölçekli senaryolar için web scraping proxy sayfamızı inceleyebilirsiniz.