{"action":"closed","issue":{"url":"https://api.github.com/repos/spring-projects/spring-boot/issues/4003","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/4003/labels{/name}","comments_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/4003/comments","events_url":"https://api.github.com/repos/spring-projects/spring-boot/issues/4003/events","html_url":"https://github.com/spring-projects/spring-boot/issues/4003","id":107622202,"number":4003,"title":"Upgrade to Reactor 2.0.6 to fix performance regression in web sockets","user":{"login":"krm1312","id":532397,"avatar_url":"https://avatars.githubusercontent.com/u/532397?v=3","gravatar_id":"","url":"https://api.github.com/users/krm1312","html_url":"https://github.com/krm1312","followers_url":"https://api.github.com/users/krm1312/followers","following_url":"https://api.github.com/users/krm1312/following{/other_user}","gists_url":"https://api.github.com/users/krm1312/gists{/gist_id}","starred_url":"https://api.github.com/users/krm1312/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krm1312/subscriptions","organizations_url":"https://api.github.com/users/krm1312/orgs","repos_url":"https://api.github.com/users/krm1312/repos","events_url":"https://api.github.com/users/krm1312/events{/privacy}","received_events_url":"https://api.github.com/users/krm1312/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/spring-projects/spring-boot/labels/blocker","name":"blocker","color":"e11d21"}],"state":"closed","locked":false,"assignee":{"login":"wilkinsona","id":914682,"avatar_url":"https://avatars.githubusercontent.com/u/914682?v=3","gravatar_id":"","url":"https://api.github.com/users/wilkinsona","html_url":"https://github.com/wilkinsona","followers_url":"https://api.github.com/users/wilkinsona/followers","following_url":"https://api.github.com/users/wilkinsona/following{/other_user}","gists_url":"https://api.github.com/users/wilkinsona/gists{/gist_id}","starred_url":"https://api.github.com/users/wilkinsona/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wilkinsona/subscriptions","organizations_url":"https://api.github.com/users/wilkinsona/orgs","repos_url":"https://api.github.com/users/wilkinsona/repos","events_url":"https://api.github.com/users/wilkinsona/events{/privacy}","received_events_url":"https://api.github.com/users/wilkinsona/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/spring-projects/spring-boot/milestones/46","html_url":"https://github.com/spring-projects/spring-boot/milestones/1.3.0.RC1","labels_url":"https://api.github.com/repos/spring-projects/spring-boot/milestones/46/labels","id":1272991,"number":46,"title":"1.3.0.RC1","description":"","creator":{"login":"snicoll","id":490484,"avatar_url":"https://avatars.githubusercontent.com/u/490484?v=3","gravatar_id":"","url":"https://api.github.com/users/snicoll","html_url":"https://github.com/snicoll","followers_url":"https://api.github.com/users/snicoll/followers","following_url":"https://api.github.com/users/snicoll/following{/other_user}","gists_url":"https://api.github.com/users/snicoll/gists{/gist_id}","starred_url":"https://api.github.com/users/snicoll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snicoll/subscriptions","organizations_url":"https://api.github.com/users/snicoll/orgs","repos_url":"https://api.github.com/users/snicoll/repos","events_url":"https://api.github.com/users/snicoll/events{/privacy}","received_events_url":"https://api.github.com/users/snicoll/received_events","type":"User","site_admin":false},"open_issues":23,"closed_issues":78,"state":"open","created_at":"2015-08-26T08:18:13Z","updated_at":"2015-10-05T11:26:17Z","due_on":"2015-10-06T23:00:00Z","closed_at":null},"comments":7,"created_at":"2015-09-22T00:06:38Z","updated_at":"2015-10-05T11:26:17Z","closed_at":"2015-10-05T11:26:17Z","body":"\r\nTried upgrading our 1.2.X spring boot application to 1.3.0.M5 today.  Was able to get all functionality to work, however, the web socket (publishing) performance has degraded to the point where it is not usable.  I kind of doubt this is boot related, but, since I was trying to upgrade boot and get all the new versions together, thought I would open issue here.\r\n\r\nAt https://github.com/krm1312/sb-1.2-websocket is a very small sample boot project that shows the issue.  You will need an external RabbitMQ (I think) to see it.\r\n\r\nIn the pom, it is currently set to run with 1.2.6.  It sends a 1000 messages in around 500ms.\r\n\r\n```\r\n...\r\n2015-09-21 19:47:20.141  INFO 88077 --- [           main] o.s.c.support.DefaultLifecycleProcessor  : Starting beans in phase 2147483647\r\n2015-09-21 19:47:20.142  INFO 88077 --- [           main] o.s.m.s.s.StompBrokerRelayMessageHandler : Starting...\r\n2015-09-21 19:47:20.371  INFO 88077 --- [           main] o.s.m.s.s.StompBrokerRelayMessageHandler : Connecting \"system\" session to 127.0.0.1:61613\r\n2015-09-21 19:47:20.446  INFO 88077 --- [           main] o.s.m.s.s.StompBrokerRelayMessageHandler : Started.\r\n2015-09-21 19:47:20.463  INFO 88077 --- [eactor-tcp-io-1] reactor.net.netty.tcp.NettyTcpClient     : CONNECTED: [id: 0x17c08180, /127.0.0.1:53884 => /127.0.0.1:61613]\r\n2015-09-21 19:47:20.496  INFO 88077 --- [eactor-tcp-io-1] o.s.m.s.s.StompBrokerRelayMessageHandler : \"System\" session connected.\r\n2015-09-21 19:47:20.499  INFO 88077 --- [eactor-tcp-io-1] o.s.m.s.s.StompBrokerRelayMessageHandler : BrokerAvailabilityEvent[available=true, StompBrokerRelay[127.0.0.1:61613]]\r\n2015-09-21 19:47:20.505  INFO 88077 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)\r\n2015-09-21 19:47:20.508  INFO 88077 --- [           main] org.krm1312.test.App                     : Started App in 3.922 seconds (JVM running for 4.359)\r\nSending msg: 0\r\nSending msg: 1\r\nSending msg: 2\r\nSending msg: 3\r\nSending msg: 4\r\nSending msg: 5\r\n...\r\nSent 1000 messages in 388.9 ms\r\n```\r\n\r\nIf you edit the pom, and change parent to 1.3.0.M5 and flip the reactor dependencies at the bottom, it's lucky to send one message a second.\r\n\r\n```\r\n2015-09-21 20:01:41.684  INFO 93055 --- [           main] o.s.m.s.s.StompBrokerRelayMessageHandler : Starting...\r\n2015-09-21 20:01:41.745  INFO 93055 --- [           main] o.s.m.s.s.StompBrokerRelayMessageHandler : Connecting \"system\" session to 127.0.0.1:61613\r\n2015-09-21 20:01:41.875  INFO 93055 --- [           main] o.s.m.s.s.StompBrokerRelayMessageHandler : Started.\r\n2015-09-21 20:01:41.889  INFO 93055 --- [eactor-tcp-io-1] r.io.net.impl.netty.tcp.NettyTcpClient   : CONNECTED: [id: 0x4a42a22b, /127.0.0.1:54139 => /127.0.0.1:61613]\r\n2015-09-21 20:01:41.942  INFO 93055 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)\r\n2015-09-21 20:01:41.945  INFO 93055 --- [eactor-tcp-io-1] o.s.m.s.s.StompBrokerRelayMessageHandler : \"System\" session connected.\r\n2015-09-21 20:01:41.948  INFO 93055 --- [           main] org.krm1312.test.App                     : Started App in 4.343 seconds (JVM running for 4.767)\r\n2015-09-21 20:01:41.951  INFO 93055 --- [eactor-tcp-io-1] o.s.m.s.s.StompBrokerRelayMessageHandler : BrokerAvailabilityEvent[available=true, StompBrokerRelay[127.0.0.1:61613]]\r\nSending msg: 0\r\nSending msg: 1\r\nSending msg: 2\r\nSending msg: 3\r\nSending msg: 4\r\nSending msg: 5\r\nSending msg: 6\r\nSending msg: 7\r\nSending msg: 8\r\nSending msg: 9\r\nSending msg: 10\r\nSending msg: 11\r\nSending msg: 12\r\nSending msg: 13\r\nSending msg: 14\r\nGiving up after only sending 14 messages\r\nSent 14 messages in 11.93 s\r\n```\r\n\r\nMy guess is it has something to do with the reactor upgrade.\r\n\r\nEnvironment: OS X"}}