SOCKS5 è un protocollo molto leggero: l'handshake occupa poche decine di byte e, una volta iniziato il trasferimento dei dati, non introduce alcun overhead. Nonostante questo, il motivo per cui in pratica sembra lento di solito non è il protocollo, ma la configurazione del client.
Il costo reale: i round trip dell'handshake
Ogni round trip costa un tempo di andata e ritorno (RTT). Se l'RTT verso il proxy è di 34 ms, il solo stabilimento della connessione si avvicina a 200 ms. Riutilizzare la connessione elimina questo costo.
1. Usa un pool di connessioni
È qui che si ottiene il guadagno maggiore. Aprire una nuova connessione SOCKS5 per ogni richiesta significa pagare ogni volta il costo dell'handshake. Con il keep-alive puoi far passare più richieste attraverso lo stesso tunnel.
L'errore più frequente è creare a ogni richiesta un nuovo oggetto Session oppure agent . Significa che il pool non funziona affatto.
2. Bilancia i timeout
Timeout troppo brevi interrompono richieste sane; timeout troppo lunghi tengono in attesa connessioni morte. In SOCKS5 occorre impostare tre valori distinti:
| Fase | Consigliato | Nota |
|---|---|---|
| Connessione (connect) | 10–15 s | Tempo per raggiungere il proxy |
| Lettura (read) | 25–40 s | Tempo di risposta della destinazione |
| Attesa nel pool (pool) | 5–10 s | Attesa di una connessione libera |
Se il punto di uscita è una linea domestica o una rete mobile, aumenta questi valori. Su un proxy mobile un timeout di lettura di 10 secondi interrompe una parte consistente delle richieste sane.
3. Gestisci il costo della risoluzione DNS
socks5h usarlo previene le fughe di dati ma sposta la risoluzione sul proxy. Se il resolver del proxy è lento, questo genera latenza aggiuntiva. Esistono due punti di equilibrio:
- Priorità alla privacy:
socks5husalo e accetta la latenza aggiuntiva. - Priorità alla velocità, privacy secondaria: Risolvi in locale e invia l'IP, ma il nome di dominio esce dalla rete locale.
- Equilibrio:
socks5husalo, ma se l'elenco delle destinazioni è fisso mantieni le connessioni aperte a lungo; la risoluzione viene eseguita una sola volta.
4. Imposta correttamente la concorrenza
Il throughput si appiattisce intorno a 32 mentre la latenza p95 sale rapidamente. Il punto ottimale è di norma là dove inizia l'appiattimento; oltre quel punto cresce solo la coda.
Per il calcolo della concorrenza vedi il nostro articolo sul limite di connessioni simultanee puoi consultarlo.
5. Non dimenticare la compressione
Poiché SOCKS5 ignora il contenuto, la decisione sulla compressione è interamente nelle mani del client. Accept-Encoding: gzip, br assicurati che l'header venga inviato: sui contenuti testuali permette un risparmio del 65–80% che si riflette direttamente sui tempi.
Misurazione
time_connect insieme time_appconnect la differenza tra i due mostra il costo complessivo dell'handshake SOCKS5 e dello stabilimento del TLS.
Per una misurazione più completa il nostro articolo sullo speed test e test del ping puoi usare il nostro strumento.
Riepilogo
SOCKS5 è di per sé un protocollo veloce; la lentezza deriva quasi sempre dalla mancanza di riutilizzo delle connessioni. Configura correttamente il pool, imposta i timeout in base al tipo di uscita, determina la concorrenza misurandola e mantieni attiva la compressione. Questi quattro punti, insieme, aumentano in modo evidente la velocità effettiva di una tipica operazione SOCKS5. Per le opzioni di prodotto la nostra pagina sui proxy SOCKS5 puoi consultarlo.