{"action":"created","issue":{"url":"https://api.github.com/repos/srsLTE/srsLTE/issues/268","repository_url":"https://api.github.com/repos/srsLTE/srsLTE","labels_url":"https://api.github.com/repos/srsLTE/srsLTE/issues/268/labels{/name}","comments_url":"https://api.github.com/repos/srsLTE/srsLTE/issues/268/comments","events_url":"https://api.github.com/repos/srsLTE/srsLTE/issues/268/events","html_url":"https://github.com/srsLTE/srsLTE/issues/268","id":382673613,"node_id":"MDU6SXNzdWUzODI2NzM2MTM=","number":268,"title":"Some latency consideration in eNB software","user":{"login":"kewinrausch","id":8994703,"node_id":"MDQ6VXNlcjg5OTQ3MDM=","avatar_url":"https://avatars3.githubusercontent.com/u/8994703?v=4","gravatar_id":"","url":"https://api.github.com/users/kewinrausch","html_url":"https://github.com/kewinrausch","followers_url":"https://api.github.com/users/kewinrausch/followers","following_url":"https://api.github.com/users/kewinrausch/following{/other_user}","gists_url":"https://api.github.com/users/kewinrausch/gists{/gist_id}","starred_url":"https://api.github.com/users/kewinrausch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kewinrausch/subscriptions","organizations_url":"https://api.github.com/users/kewinrausch/orgs","repos_url":"https://api.github.com/users/kewinrausch/repos","events_url":"https://api.github.com/users/kewinrausch/events{/privacy}","received_events_url":"https://api.github.com/users/kewinrausch/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-11-20T13:54:14Z","updated_at":"2018-12-07T10:19:18Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Hi SRS,\r\n\r\nI just want to report a curious behavior while running some performance tests in the eNB side of the srsLTE software suite. The behavior happens on the last version of the code. I tested it without any additional functionality which I included in the project (so in its otiginal state). [Link to the source here.](https://github.com/kewinrausch/empower-srsLTE/tree/upgrade)\r\n\r\nFirst I finally have been able to connect and sustain traffic from more than three UEs! :smiley:\r\n\r\nSecond, I noticed that the RTT (well, latency in general) seems to scale less or more with the number of UE attached and committed to perform traffic. While they are silently connected I have the following situation:\r\n```\r\n64 bytes from 10.20.30.4: icmp_seq=289 ttl=64 time=16.4 ms\r\n64 bytes from 10.20.30.4: icmp_seq=290 ttl=64 time=15.9 ms\r\n64 bytes from 10.20.30.4: icmp_seq=291 ttl=64 time=34.5 ms\r\n64 bytes from 10.20.30.4: icmp_seq=292 ttl=64 time=33.1 ms\r\n64 bytes from 10.20.30.4: icmp_seq=293 ttl=64 time=32.9 ms\r\n64 bytes from 10.20.30.4: icmp_seq=294 ttl=64 time=32.0 ms\r\n64 bytes from 10.20.30.4: icmp_seq=295 ttl=64 time=31.7 ms\r\n64 bytes from 10.20.30.4: icmp_seq=296 ttl=64 time=30.9 ms\r\n64 bytes from 10.20.30.4: icmp_seq=297 ttl=64 time=29.8 ms\r\n64 bytes from 10.20.30.4: icmp_seq=298 ttl=64 time=29.1 ms\r\n64 bytes from 10.20.30.4: icmp_seq=299 ttl=64 time=28.5 ms\r\n64 bytes from 10.20.30.4: icmp_seq=300 ttl=64 time=28.1 ms\r\n64 bytes from 10.20.30.4: icmp_seq=301 ttl=64 time=27.8 ms\r\n64 bytes from 10.20.30.4: icmp_seq=310 ttl=64 time=41.0 ms\r\n```\r\nNothing strange here.\r\n\r\nWhen one UE start to perform a bandwidth test with a common App or Iperf, the background (concurrent with the traffic generator) ping becomes like:\r\n\r\n```\r\n64 bytes from 10.20.30.7: icmp_seq=21 ttl=64 time=237 ms\r\n64 bytes from 10.20.30.7: icmp_seq=22 ttl=64 time=207 ms\r\n64 bytes from 10.20.30.7: icmp_seq=23 ttl=64 time=221 ms\r\n64 bytes from 10.20.30.7: icmp_seq=24 ttl=64 time=209 ms\r\n64 bytes from 10.20.30.7: icmp_seq=25 ttl=64 time=217 ms\r\n64 bytes from 10.20.30.7: icmp_seq=26 ttl=64 time=167 ms\r\n64 bytes from 10.20.30.7: icmp_seq=27 ttl=64 time=197 ms\r\n64 bytes from 10.20.30.7: icmp_seq=28 ttl=64 time=186 ms\r\n64 bytes from 10.20.30.7: icmp_seq=29 ttl=64 time=188 ms\r\n```\r\n\r\nWith two UEs I have:\r\n```\r\n64 bytes from 10.20.30.7: icmp_seq=17 ttl=64 time=450 ms\r\n64 bytes from 10.20.30.7: icmp_seq=18 ttl=64 time=409 ms\r\n64 bytes from 10.20.30.7: icmp_seq=19 ttl=64 time=412 ms\r\n64 bytes from 10.20.30.7: icmp_seq=20 ttl=64 time=431 ms\r\n64 bytes from 10.20.30.7: icmp_seq=21 ttl=64 time=372 ms\r\n64 bytes from 10.20.30.7: icmp_seq=22 ttl=64 time=372 ms\r\n64 bytes from 10.20.30.7: icmp_seq=23 ttl=64 time=392 ms\r\n64 bytes from 10.20.30.7: icmp_seq=24 ttl=64 time=431 ms\r\n64 bytes from 10.20.30.7: icmp_seq=25 ttl=64 time=433 m\r\n```\r\n\r\nWhile with three UE I finally measured:\r\n```\r\n64 bytes from 10.20.30.7: icmp_seq=20 ttl=64 time=819 ms\r\n64 bytes from 10.20.30.7: icmp_seq=21 ttl=64 time=933 ms\r\n64 bytes from 10.20.30.7: icmp_seq=22 ttl=64 time=941 ms\r\n64 bytes from 10.20.30.7: icmp_seq=23 ttl=64 time=911 ms\r\n64 bytes from 10.20.30.7: icmp_seq=24 ttl=64 time=967 ms\r\n64 bytes from 10.20.30.7: icmp_seq=25 ttl=64 time=946 ms\r\n64 bytes from 10.20.30.7: icmp_seq=26 ttl=64 time=808 ms\r\n```\r\n\r\n**The ping was always working from the EPC (situated on the same machine of the eNB) and the first UE connected.** I expected the latency to increase, but not to follow the number of UE connected/transmitting.\r\n\r\nJust in case I tried a similar approach using only laptops instead of srsLTE and UEs. I've got one client (in the EPC-like setup) pushing to two different server machines. The outcome of this esxperiment is the following:\r\n```\r\n64 bytes from 192.168.0.107: icmp_seq=43 ttl=64 time=0.252 ms\r\n64 bytes from 192.168.0.107: icmp_seq=44 ttl=64 time=0.268 ms\r\n64 bytes from 192.168.0.107: icmp_seq=45 ttl=64 time=0.251 ms\r\n64 bytes from 192.168.0.107: icmp_seq=46 ttl=64 time=0.266 ms\r\n64 bytes from 192.168.0.107: icmp_seq=47 ttl=64 time=0.256 ms\r\n64 bytes from 192.168.0.107: icmp_seq=48 ttl=64 time=0.279 ms\r\n64 bytes from 192.168.0.107: icmp_seq=49 ttl=64 time=2.02 ms\r\n64 bytes from 192.168.0.107: icmp_seq=50 ttl=64 time=1.77 ms\r\n64 bytes from 192.168.0.107: icmp_seq=51 ttl=64 time=1.93 ms\r\n64 bytes from 192.168.0.107: icmp_seq=52 ttl=64 time=2.39 ms\r\n64 bytes from 192.168.0.107: icmp_seq=53 ttl=64 time=1.91 ms\r\n64 bytes from 192.168.0.107: icmp_seq=54 ttl=64 time=1.97 ms\r\n64 bytes from 192.168.0.107: icmp_seq=55 ttl=64 time=1.76 ms\r\n64 bytes from 192.168.0.107: icmp_seq=56 ttl=64 time=1.44 ms\r\n64 bytes from 192.168.0.107: icmp_seq=57 ttl=64 time=1.98 ms\r\n64 bytes from 192.168.0.107: icmp_seq=58 ttl=64 time=1.50 ms\r\n64 bytes from 192.168.0.107: icmp_seq=59 ttl=64 time=1.92 ms\r\n64 bytes from 192.168.0.107: icmp_seq=60 ttl=64 time=2.00 ms\r\n64 bytes from 192.168.0.107: icmp_seq=61 ttl=64 time=1.80 ms\r\n64 bytes from 192.168.0.107: icmp_seq=62 ttl=64 time=1.83 ms\r\n64 bytes from 192.168.0.107: icmp_seq=63 ttl=64 time=2.47 ms\r\n64 bytes from 192.168.0.107: icmp_seq=64 ttl=64 time=2.49 ms\r\n64 bytes from 192.168.0.107: icmp_seq=65 ttl=64 time=1.81 ms\r\n64 bytes from 192.168.0.107: icmp_seq=66 ttl=64 time=1.91 ms\r\n64 bytes from 192.168.0.107: icmp_seq=67 ttl=64 time=1.38 ms\r\n64 bytes from 192.168.0.107: icmp_seq=68 ttl=64 time=1.89 ms\r\n64 bytes from 192.168.0.107: icmp_seq=69 ttl=64 time=1.09 ms\r\n64 bytes from 192.168.0.107: icmp_seq=70 ttl=64 time=1.54 ms\r\n64 bytes from 192.168.0.107: icmp_seq=71 ttl=64 time=2.51 ms\r\n64 bytes from 192.168.0.107: icmp_seq=72 ttl=64 time=2.42 ms\r\n64 bytes from 192.168.0.107: icmp_seq=73 ttl=64 time=1.68 ms\r\n```\r\n\r\nBasically you can't tell exatcly when the second iperf client is operating since the latency is always less or more the same.\r\n\r\nWhile I'm not totally sure that this is a real issue, what worries me is that the performance degradates with the number of UE connected. This is something which can become worriesome in the future and probably identifies some sort of bottleneck in the stack.\r\n\r\nIf you want me to do additional tests just ask."},"comment":{"url":"https://api.github.com/repos/srsLTE/srsLTE/issues/comments/445187459","html_url":"https://github.com/srsLTE/srsLTE/issues/268#issuecomment-445187459","issue_url":"https://api.github.com/repos/srsLTE/srsLTE/issues/268","id":445187459,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NTE4NzQ1OQ==","user":{"login":"kewinrausch","id":8994703,"node_id":"MDQ6VXNlcjg5OTQ3MDM=","avatar_url":"https://avatars3.githubusercontent.com/u/8994703?v=4","gravatar_id":"","url":"https://api.github.com/users/kewinrausch","html_url":"https://github.com/kewinrausch","followers_url":"https://api.github.com/users/kewinrausch/followers","following_url":"https://api.github.com/users/kewinrausch/following{/other_user}","gists_url":"https://api.github.com/users/kewinrausch/gists{/gist_id}","starred_url":"https://api.github.com/users/kewinrausch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kewinrausch/subscriptions","organizations_url":"https://api.github.com/users/kewinrausch/orgs","repos_url":"https://api.github.com/users/kewinrausch/repos","events_url":"https://api.github.com/users/kewinrausch/events{/privacy}","received_events_url":"https://api.github.com/users/kewinrausch/received_events","type":"User","site_admin":false},"created_at":"2018-12-07T10:19:18Z","updated_at":"2018-12-07T10:19:18Z","author_association":"CONTRIBUTOR","body":"Hey there, nice job.\r\n\r\nSince it seems you have a good setup already running, can you try give a run with two and three UE connected to the same eNB? You can run a ping (towards every UE or towards a single one) on the EPC machine, while having IPERF or similar traffic generator produce the data in the meantime."}}
{"actor":{"display_login":"kewinrausch"}}