如何使用Akka IO(Http)获得高出站并发性
鉴于: 如果我要做:如何使用Akka IO(Http)获得高出站并发性,akka,akka-io,Akka,Akka Io,鉴于: 如果我要做: val system = ActorSystem("test") val http = IO(Http)(system) def fetch = http ! HttpRequest(GET, "http://0.0.0.0:8080/loadtest") 我预计该代码将触发25个异步请求。相反,会发生四个请求被触发的情况。他们等待回应。当对所有4个的响应返回时,将再发送4个,直到处理完所有25个 我尝试调整Spray的配置以创建自定义调度程序,但没有效果 (0 to 2
val system = ActorSystem("test")
val http = IO(Http)(system)
def fetch = http ! HttpRequest(GET, "http://0.0.0.0:8080/loadtest")
我预计该代码将触发25个异步请求。相反,会发生四个请求被触发的情况。他们等待回应。当对所有4个的响应返回时,将再发送4个,直到处理完所有25个
我尝试调整Spray的配置以创建自定义调度程序,但没有效果
(0 to 25).foreach(_ => fetch)
如何配置Akka/Spray以异步发送所有25个请求
使用:Akka 2.2.3,Spray 1.2.0您正在运行Spray中主机连接器的最大连接配置设置(默认为4) 这是您如何更改它的:
spray.can.host连接器最大连接数=25
outbound-http-dispatcher {
type = Dispatcher
executor = "thread-pool-executor"
throughput = 250
}
spray.can {
host-connector-dispatcher = outbound-http-dispatcher
manager-dispatcher = outbound-http-dispatcher
}