[Windows] Web Client is unreasonably slow
- Lingua principale
- Rust
- Stelle
- 24.8k
- Fork
- 1.9k
- Merge medio
- 23h 10m
- PR unite (30g)
- 26
Descrizione
Reproduce snippet:
```rust
#[actix_web::main]
async fn main() -> std::io::Result<()> {
let sys_time = std::time::SystemTime::now();
let start_time = sys_time.elapsed().unwrap();
let client = actix_web::client::Client::builder()
.connector(actix_web::client::Connector::new()
.timeout(Duration::from_secs(35))
.finish())
.timeout(Duration::from_secs(35))
.finish();
let response = client.get("https://google.com")
.send()
.await
.unwrap()
.body()
.await
.unwrap();
let end_time = sys_time.elapsed().unwrap();
let secs = end_time - start_time;
println!("{}", secs.as_secs());
return Ok(());
}
```
This code prints "20" on Windows, i.e. get request to Google takes 20 seconds.
Same code on Linux (WSL2) takes 0 seconds.
I don't have any clues what might be wrong, but perhaps it's related to DNS resolution?
`Cargo.toml`:
```toml
// ...
[dependencies]
actix-web = { version = "3", features = ["rustls"] }
```
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dal codice del client Rust nella riproduzione e dalla dipendenza actix-web versione 3 in Cargo.toml. Esegui lo snippet su Windows e Linux/WSL2, quindi analizza il percorso della richiesta e l’ipotesi sulla risoluzione DNS. Il lavoro è completato quando la stessa richiesta a Google non richiede più circa 20 secondi su Windows e il comportamento è coperto da un test di regressione appropriato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- networking
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100