/ / Akka IO(Http) - akka、akka-ioで高いアウトバウンド並行性を得る方法

Akka IO(Http) - akka、akka-ioで高いアウトバウンド並行性を得る方法

与えられた:

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

私がしなければならない場合:

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

私はこのコードが25の非同期リクエストを発生させることを期待しています。その代わりに何が起こるか 要求はオフに設定されます。彼らは応答を待ちます。すべての4への応答が戻ってくると、25個すべてが処理されるまで、さらに4つが送信されます。

私はカスタムディスパッチャを作成するためにSprayの設定を調整しようとしましたが、これは効果がありませんでした...

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

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

25個のリクエストをすべて非同期で送信するようにAkka / Sprayを設定するにはどうすればよいですか?

使用:Akka 2.2.3、スプレー1.2.0

回答:

回答№1は2

ホストコネクタの最大接続構成設定をスプレーで実行しています(デフォルトでは4)。

これはあなたがそれを変更する方法です: spray.can.host-connector.max-connections=25