{"action":"created","issue":{"url":"https://api.github.com/repos/ReactiveX/RxNetty/issues/481","repository_url":"https://api.github.com/repos/ReactiveX/RxNetty","labels_url":"https://api.github.com/repos/ReactiveX/RxNetty/issues/481/labels{/name}","comments_url":"https://api.github.com/repos/ReactiveX/RxNetty/issues/481/comments","events_url":"https://api.github.com/repos/ReactiveX/RxNetty/issues/481/events","html_url":"https://github.com/ReactiveX/RxNetty/issues/481","id":134878154,"number":481,"title":"Using RxNetty as proxy cannot scale caused by locking and waiting","user":{"login":"rotemfogel","id":1784742,"avatar_url":"https://avatars.githubusercontent.com/u/1784742?v=3","gravatar_id":"","url":"https://api.github.com/users/rotemfogel","html_url":"https://github.com/rotemfogel","followers_url":"https://api.github.com/users/rotemfogel/followers","following_url":"https://api.github.com/users/rotemfogel/following{/other_user}","gists_url":"https://api.github.com/users/rotemfogel/gists{/gist_id}","starred_url":"https://api.github.com/users/rotemfogel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rotemfogel/subscriptions","organizations_url":"https://api.github.com/users/rotemfogel/orgs","repos_url":"https://api.github.com/users/rotemfogel/repos","events_url":"https://api.github.com/users/rotemfogel/events{/privacy}","received_events_url":"https://api.github.com/users/rotemfogel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-02-19T14:26:46Z","updated_at":"2016-02-19T17:08:06Z","closed_at":null,"body":"Trying to use RxNetty as proxy is limited to 300 rps. trying to scale using more CPUs does not help.\r\nExperiment is a server using HttpClient to call a static json file on local nginx server.\r\n[(https://github.com/rotemfogel/RxNettyProxy)]\r\n\r\nI am receiving 99% timeouts, getting blocked on waiting for java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject\r\n\r\nJprofiler Report can be found at [(https://github.com/rotemfogel/RxNettyProxy/blob/master/RxNettyProxy-Monitor.html)]\r\n\r\n## Apache Bench Test\r\n\r\n$ ab -k -n 800 -c 8 http://localhost:80/static.json\r\n...\r\nBenchmarking localhost (be patient)\r\nCompleted 100 requests\r\n....\r\nFinished 800 requests\r\n...\r\nDocument Path:          /static.json\r\nDocument Length:        1442 bytes\r\n\r\nConcurrency Level:      8\r\nTime taken for tests:   0.094 seconds\r\nComplete requests:      800\r\nFailed requests:        0\r\nKeep-Alive requests:    795\r\n...\r\nRequests per second:    **8504.12** [#/sec] (mean)\r\nTime per request:       0.941 [ms] (mean)\r\nTime per request:       0.118 [ms] (mean, across all concurrent requests)\r\nTransfer rate:          14151.14 [Kbytes/sec] received\r\n\r\n\r\n$ ab -k -n 800 -c 8 http://localhost:9000/\r\nBenchmarking localhost (be patient)\r\nCompleted 100 requests\r\n...\r\nFinished 800 requests\r\n...\r\nDocument Path:          /\r\nDocument Length:        5 bytes\r\n\r\nConcurrency Level:      8\r\nTime taken for tests:   2.237 seconds\r\nComplete requests:      800\r\nFailed requests:        0\r\n**Non-2xx responses:      800**\r\nKeep-Alive requests:    800\r\nTotal transferred:      76000 bytes\r\nHTML transferred:       4000 bytes\r\n**Requests per second:    357.56 [#/sec] (mean)**\r\nTime per request:       22.374 [ms] (mean)\r\nTime per request:       2.797 [ms] (mean, across all concurrent requests)\r\nTransfer rate:          33.17 [Kbytes/sec] received"},"comment":{"url":"https://api.github.com/repos/ReactiveX/RxNetty/issues/comments/186307806","html_url":"https://github.com/ReactiveX/RxNetty/issues/481#issuecomment-186307806","issue_url":"https://api.github.com/repos/ReactiveX/RxNetty/issues/481","id":186307806,"user":{"login":"NiteshKant","id":820005,"avatar_url":"https://avatars.githubusercontent.com/u/820005?v=3","gravatar_id":"","url":"https://api.github.com/users/NiteshKant","html_url":"https://github.com/NiteshKant","followers_url":"https://api.github.com/users/NiteshKant/followers","following_url":"https://api.github.com/users/NiteshKant/following{/other_user}","gists_url":"https://api.github.com/users/NiteshKant/gists{/gist_id}","starred_url":"https://api.github.com/users/NiteshKant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NiteshKant/subscriptions","organizations_url":"https://api.github.com/users/NiteshKant/orgs","repos_url":"https://api.github.com/users/NiteshKant/repos","events_url":"https://api.github.com/users/NiteshKant/events{/privacy}","received_events_url":"https://api.github.com/users/NiteshKant/received_events","type":"User","site_admin":false},"created_at":"2016-02-19T17:08:06Z","updated_at":"2016-02-19T17:08:06Z","body":"@brharrington :+1: `.toBlocking()` blocks the eventloop."}}