/ / Ako získať vysokú výstupnú súbežnosť s Akka IO (Http) - akka, akka-io

Ako získať vysokú výstupnú súbežnosť s Akka IO (Http) - akka, akka-io

Vzhľadom na to:

val system = ActorSystem("test")
val http = IO(Http)(system)
def fetch = http ! HttpRequest(GET, "http://0.0.0.0:8080/loadtest")

Ak by som mal urobiť:

(0 to 25).foreach(_ => fetch)

Chcel by som očakávať, že kód vypáli 25 asynchrónnych požiadaviek. Čo sa stane namiesto toho je to štyri žiadosti sú započítané. Čakajú na odpoveď. Keď sa odpoveď na všetky 4 príde potom ďalšie štyri sú odoslané až do všetkých 25 sú spracované.

Snažil som sa ladiť s konfiguráciou Spray na vytvorenie vlastného dispečera, ale to nemalo žiadny vplyv ...

outbound-http-dispatcher {
type = Dispatcher
executor = "thread-pool-executor"
throughput = 250
}

spray.can {
host-connector-dispatcher = outbound-http-dispatcher
manager-dispatcher = outbound-http-dispatcher
}

Ako môžem nakonfigurovať systém Akka / Spray tak, aby všetky 25 žiadostí odoslal asynchrónne?

Použitie: Akka 2.2.3, Spray 1.2.0

odpovede:

2 pre odpoveď č. 1

Spustíte nastavenie konfigurácie max pripojenia pre konektor hostiteľa v spreji (v predvolenom nastavení je to 4).

Takto to môžete zmeniť: spray.can.host-connector.max-connections=25