{"action":"created","issue":{"url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1355","labels_url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1355/labels{/name}","comments_url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1355/comments","events_url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1355/events","html_url":"https://github.com/akkadotnet/akka.net/issues/1355","id":109766842,"number":1355,"title":"Cluster over LAN: bad request-replay performance","user":{"login":"vasily-kirichenko","id":873919,"avatar_url":"https://avatars.githubusercontent.com/u/873919?v=3","gravatar_id":"","url":"https://api.github.com/users/vasily-kirichenko","html_url":"https://github.com/vasily-kirichenko","followers_url":"https://api.github.com/users/vasily-kirichenko/followers","following_url":"https://api.github.com/users/vasily-kirichenko/following{/other_user}","gists_url":"https://api.github.com/users/vasily-kirichenko/gists{/gist_id}","starred_url":"https://api.github.com/users/vasily-kirichenko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vasily-kirichenko/subscriptions","organizations_url":"https://api.github.com/users/vasily-kirichenko/orgs","repos_url":"https://api.github.com/users/vasily-kirichenko/repos","events_url":"https://api.github.com/users/vasily-kirichenko/events{/privacy}","received_events_url":"https://api.github.com/users/vasily-kirichenko/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akkadotnet/akka.net/labels/akka-cluster","name":"akka-cluster","color":"c7def8"},{"url":"https://api.github.com/repos/akkadotnet/akka.net/labels/akka-fsharp","name":"akka-fsharp","color":"c7def8"}],"state":"open","locked":false,"assignee":{"login":"Aaronontheweb","id":326939,"avatar_url":"https://avatars.githubusercontent.com/u/326939?v=3","gravatar_id":"","url":"https://api.github.com/users/Aaronontheweb","html_url":"https://github.com/Aaronontheweb","followers_url":"https://api.github.com/users/Aaronontheweb/followers","following_url":"https://api.github.com/users/Aaronontheweb/following{/other_user}","gists_url":"https://api.github.com/users/Aaronontheweb/gists{/gist_id}","starred_url":"https://api.github.com/users/Aaronontheweb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Aaronontheweb/subscriptions","organizations_url":"https://api.github.com/users/Aaronontheweb/orgs","repos_url":"https://api.github.com/users/Aaronontheweb/repos","events_url":"https://api.github.com/users/Aaronontheweb/events{/privacy}","received_events_url":"https://api.github.com/users/Aaronontheweb/received_events","type":"User","site_admin":false},"milestone":null,"comments":13,"created_at":"2015-10-05T10:10:14Z","updated_at":"2015-10-13T20:32:18Z","closed_at":null,"body":"Server:\r\n```fsharp\r\nopen System.IO\r\nopen Akka.FSharp\r\nopen Contracts\r\nopen System\r\n\r\n[<EntryPoint>]\r\nlet main _ = \r\n    let system = \r\n        Configuration.parse (File.ReadAllText \"akka.hocon\")\r\n        |> System.create \"ActorSystem1\"\r\n\r\n    let _actor =\r\n        spawn system \"Server\" <| fun mb ->\r\n            let startTime = DateTime.UtcNow\r\n            let rec loop count = actor {\r\n                let! msg = mb.Receive()\r\n                match msg with\r\n                | Request.Add (x, y) -> \r\n                    mb.Sender() <! Response.Added (x + y)\r\n                if count % 1000 = 0 then\r\n                    Logging.logInfof mb \"%d total, %f /s\" \r\n                                        count \r\n                                        (1000. * float count / (DateTime.UtcNow - startTime).TotalMilliseconds)\r\n                return! loop (count + 1)\r\n            }\r\n            loop 0\r\n    Console.ReadKey() |> ignore\r\n    0\r\n```\r\nconfig:\r\n```\r\nakka {\r\n  actor {\r\n    provider = \"Akka.Cluster.ClusterActorRefProvider, Akka.Cluster\"\r\n  }\r\n\r\n  remote {\r\n    log-remote-lifecycle-events = DEBUG\r\n    helios.tcp {\r\n      hostname = \"server1\"\r\n      port = 2551\r\n    }\r\n  }\r\n  \r\n  cluster {\r\n    seed-nodes = [ \"akka.tcp://ActorSystem1@server1:2551\" ]\r\n    auto-down-unreachable-after = 30s\r\n  }\r\n}\r\n```\r\nClient:\r\n```fsharp\r\nopen System.IO\r\nopen Akka.FSharp\r\nopen System\r\nopen Contracts\r\n\r\n[<EntryPoint>]\r\nlet main _ = \r\n    let system = \r\n        Configuration.parse (File.ReadAllText \"akka.hocon\")\r\n        |> System.create \"ActorSystem1\"\r\n\r\n    let _actor =\r\n        spawn system \"Client\" <| fun (mb: Actor<Response>) ->\r\n            let server = select \"akka.tcp://ActorSystem1@server1:2551/user/Server\" system\r\n            let startTime = DateTime.UtcNow\r\n            let rec loop count = actor {\r\n                server <! Request.Add (1, 2)\r\n                let! _msg = mb.Receive()\r\n                if count % 1000 = 0 then\r\n                    Logging.logInfof mb \"%d total, %f /s\" \r\n                                        count \r\n                                        (1000. * float count / (DateTime.UtcNow - startTime).TotalMilliseconds)\r\n                return! loop (count + 1)\r\n            }\r\n            loop 0\r\n\r\n    Console.ReadKey() |> ignore\r\n    0\r\n```\r\nconfig:\r\n```\r\nakka {\r\n  actor {\r\n    provider = \"Akka.Cluster.ClusterActorRefProvider, Akka.Cluster\"\r\n  }\r\n\r\n  remote {\r\n    log-remote-lifecycle-events = DEBUG\r\n    helios.tcp {\r\n      hostname = \"server2\"\r\n      port = 0\r\n    }\r\n  }\r\n  \r\n  cluster {\r\n    seed-nodes = [ \"akka.tcp://ActorSystem1@server1:2551\" ]\r\n    auto-down-unreachable-after = 30s\r\n  }\r\n}\r\n```\r\nMessages:\r\n```fsharp\r\nnamespace Contracts\r\n\r\ntype Request =\r\n    | Add of int * int\r\n\r\ntype Response =\r\n    | Added of int\r\n```\r\nFull code here: https://github.com/vasily-kirichenko/AkkaNetTest\r\n\r\nServer output:\r\n```\r\n[INFO][05.10.2015 10:07:25][Thread 0005][[akka://ActorSystem1/user/Server]] 927000 total, 326.696727 /s\r\n[INFO][05.10.2015 10:07:28][Thread 0006][[akka://ActorSystem1/user/Server]] 928000 total, 326.695203 /s\r\n[INFO][05.10.2015 10:07:31][Thread 0004][[akka://ActorSystem1/user/Server]] 929000 total, 326.689090 /s\r\n[INFO][05.10.2015 10:07:34][Thread 0008][[akka://ActorSystem1/user/Server]] 930000 total, 326.673229 /s\r\n[INFO][05.10.2015 10:07:37][Thread 0007][[akka://ActorSystem1/user/Server]] 931000 total, 326.678275 /s\r\n[INFO][05.10.2015 10:07:40][Thread 0006][[akka://ActorSystem1/user/Server]] 932000 total, 326.682159 /s\r\n```\r\nClient output:\r\n```\r\n[INFO][05.10.2015 10:07:16][Thread 0004][[akka://ActorSystem1/user/Client]] 924000 total, 327.153086 /s\r\n[INFO][05.10.2015 10:07:19][Thread 0021][[akka://ActorSystem1/user/Client]] 925000 total, 327.158118 /s\r\n[INFO][05.10.2015 10:07:22][Thread 0008][[akka://ActorSystem1/user/Client]] 926000 total, 327.165574 /s\r\n[INFO][05.10.2015 10:07:25][Thread 0006][[akka://ActorSystem1/user/Client]] 927000 total, 327.170581 /s\r\n[INFO][05.10.2015 10:07:28][Thread 0006][[akka://ActorSystem1/user/Client]] 928000 total, 327.168550 /s\r\n[INFO][05.10.2015 10:07:31][Thread 0007][[akka://ActorSystem1/user/Client]] 929000 total, 327.161907 /s\r\n[INFO][05.10.2015 10:07:34][Thread 0021][[akka://ActorSystem1/user/Client]] 930000 total, 327.145497 /s\r\n[INFO][05.10.2015 10:07:37][Thread 0021][[akka://ActorSystem1/user/Client]] 931000 total, 327.150053 /s\r\n[INFO][05.10.2015 10:07:40][Thread 0008][[akka://ActorSystem1/user/Client]] 932000 total, 327.153446 /s\r\n[INFO][05.10.2015 10:07:43][Thread 0006][[akka://ActorSystem1/user/Client]] 933000 total, 327.145933 /s\r\n[INFO][05.10.2015 10:07:46][Thread 0008][[akka://ActorSystem1/user/Client]] 934000 total, 327.151386 /s\r\n[INFO][05.10.2015 10:07:49][Thread 0021][[akka://ActorSystem1/user/Client]] 935000 total, 327.162778 /s\r\n```\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/akkadotnet/akka.net/issues/comments/147843749","html_url":"https://github.com/akkadotnet/akka.net/issues/1355#issuecomment-147843749","issue_url":"https://api.github.com/repos/akkadotnet/akka.net/issues/1355","id":147843749,"user":{"login":"derrickcrowne","id":6208048,"avatar_url":"https://avatars.githubusercontent.com/u/6208048?v=3","gravatar_id":"","url":"https://api.github.com/users/derrickcrowne","html_url":"https://github.com/derrickcrowne","followers_url":"https://api.github.com/users/derrickcrowne/followers","following_url":"https://api.github.com/users/derrickcrowne/following{/other_user}","gists_url":"https://api.github.com/users/derrickcrowne/gists{/gist_id}","starred_url":"https://api.github.com/users/derrickcrowne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/derrickcrowne/subscriptions","organizations_url":"https://api.github.com/users/derrickcrowne/orgs","repos_url":"https://api.github.com/users/derrickcrowne/repos","events_url":"https://api.github.com/users/derrickcrowne/events{/privacy}","received_events_url":"https://api.github.com/users/derrickcrowne/received_events","type":"User","site_admin":false},"created_at":"2015-10-13T20:32:18Z","updated_at":"2015-10-13T20:32:18Z","body":"We saw a big clustering performance hit when upgrading from 1.0.3 to 1.0.4/1.0.5. Currently running 1.0.3 in production again because that gave us the best performance. Our production servers are doing 10k requests/minute from our web nodes into the cluster which has 20ms response time on 1.0.3, but it was reaching 700ms on 1.0.4."}}