{"action":"created","issue":{"url":"https://api.github.com/repos/akka/akka/issues/17395","labels_url":"https://api.github.com/repos/akka/akka/issues/17395/labels{/name}","comments_url":"https://api.github.com/repos/akka/akka/issues/17395/comments","events_url":"https://api.github.com/repos/akka/akka/issues/17395/events","html_url":"https://github.com/akka/akka/issues/17395","id":73571372,"number":17395,"title":"possible HTTP load problem","user":{"login":"rkuhn","id":470469,"avatar_url":"https://avatars.githubusercontent.com/u/470469?v=3","gravatar_id":"","url":"https://api.github.com/users/rkuhn","html_url":"https://github.com/rkuhn","followers_url":"https://api.github.com/users/rkuhn/followers","following_url":"https://api.github.com/users/rkuhn/following{/other_user}","gists_url":"https://api.github.com/users/rkuhn/gists{/gist_id}","starred_url":"https://api.github.com/users/rkuhn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkuhn/subscriptions","organizations_url":"https://api.github.com/users/rkuhn/orgs","repos_url":"https://api.github.com/users/rkuhn/repos","events_url":"https://api.github.com/users/rkuhn/events{/privacy}","received_events_url":"https://api.github.com/users/rkuhn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akka/akka/labels/1%20-%20triaged","name":"1 - triaged","color":"5319e7"},{"url":"https://api.github.com/repos/akka/akka/labels/t:http","name":"t:http","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/akka/akka/milestones/37","html_url":"https://github.com/akka/akka/milestones/http-1.0","labels_url":"https://api.github.com/repos/akka/akka/milestones/37/labels","id":1044204,"number":37,"title":"http-1.0","description":"","creator":{"login":"rkuhn","id":470469,"avatar_url":"https://avatars.githubusercontent.com/u/470469?v=3","gravatar_id":"","url":"https://api.github.com/users/rkuhn","html_url":"https://github.com/rkuhn","followers_url":"https://api.github.com/users/rkuhn/followers","following_url":"https://api.github.com/users/rkuhn/following{/other_user}","gists_url":"https://api.github.com/users/rkuhn/gists{/gist_id}","starred_url":"https://api.github.com/users/rkuhn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkuhn/subscriptions","organizations_url":"https://api.github.com/users/rkuhn/orgs","repos_url":"https://api.github.com/users/rkuhn/repos","events_url":"https://api.github.com/users/rkuhn/events{/privacy}","received_events_url":"https://api.github.com/users/rkuhn/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":0,"state":"open","created_at":"2015-03-30T07:54:20Z","updated_at":"2015-05-06T09:33:11Z","due_on":"2015-05-28T22:00:00Z","closed_at":null},"comments":29,"created_at":"2015-05-06T09:33:11Z","updated_at":"2015-05-10T15:05:07Z","closed_at":null,"body":"reported on twitter by Niko Will (@win1imb), reproducer is at https://github.com/win1imb/akka-poc"},"comment":{"url":"https://api.github.com/repos/akka/akka/issues/comments/100653319","html_url":"https://github.com/akka/akka/issues/17395#issuecomment-100653319","issue_url":"https://api.github.com/repos/akka/akka/issues/17395","id":100653319,"user":{"login":"jrudolph","id":9868,"avatar_url":"https://avatars.githubusercontent.com/u/9868?v=3","gravatar_id":"","url":"https://api.github.com/users/jrudolph","html_url":"https://github.com/jrudolph","followers_url":"https://api.github.com/users/jrudolph/followers","following_url":"https://api.github.com/users/jrudolph/following{/other_user}","gists_url":"https://api.github.com/users/jrudolph/gists{/gist_id}","starred_url":"https://api.github.com/users/jrudolph/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrudolph/subscriptions","organizations_url":"https://api.github.com/users/jrudolph/orgs","repos_url":"https://api.github.com/users/jrudolph/repos","events_url":"https://api.github.com/users/jrudolph/events{/privacy}","received_events_url":"https://api.github.com/users/jrudolph/received_events","type":"User","site_admin":false},"created_at":"2015-05-10T15:05:07Z","updated_at":"2015-05-10T15:05:07Z","body":"Looking through stack traces I think I know what happens: in `Http.bindAndHandle` we use `Sink.foreach` to handle incoming connections. This means per-connection materialization isn't handled in parallel but is linearized, instead, and is as such disadvantaged against other work that makes use of the rest of the thread-pool. We may consider using `mapAsync(Unordered)` instead and make the parallelism factor configurable so that you can choose how much of your thread-pool you want to sacrifice to materialization. With the workload of this load test, increasing the number will probably reduce throughput in favor of being able to accept more connections."}}