Kamailio使用率非常高,即使用户数量很少

时间:2016-02-04 05:05:15

标签: azure tcp kamailio

我遇到了一个非常奇怪的问题,Kamailio,我们的Azure VM是D2配置,带有2个内核和7 GB内存,Ubuntu 14.04 LTS,当我们看到来自Kamailio的高CPU使用率的那天,我们间歇性地遇到问题Kamailio停止接受新的注册。当我检查位置表或通过kamctl ul show时,它只显示大约900多个用户。但是Kamailio还是无法用少数用户进行新的注册。我相信Kamailio每个核心可以处理350000个用户。 tcp_connections也在tcp_max_connection = 60000,我收到以下错误:

  

Feb 4 01:02:21 urcmcs / usr / local / sbin / kamailio [1956]:错误:   [tcp_read.c:299]:tcp_read_data():错误读取:连接超时   (110)Feb 4 01:02:21 urcmcs / usr / local / sbin / kamailio [1956]:错误:    [tcp_read.c:1326]:tcp_read_req():错误:tcp_read_req:错误   阅读2月4日01:02:42 urcmcs / usr / local / sbin / kamailio [1969]:错误:    [tcp_read.c:299]:tcp_read_data():错误读取:连接   timed out(110)Feb 4 01:02:42 urcmcs / usr / local / sbin / kamailio [1969]:   错误:[tcp_read.c:1326]:tcp_read_req():错误:tcp_read_req:   错误阅读2月4日01:02:54 urcmcs / usr / local / sbin / kamailio [1959]:   错误:[tcp_read.c:299]:tcp_read_data():错误读取:   连接超时(110)2月4日01:02:54 urcmcs   / usr / local / sbin / kamailio [1959]:错误:[tcp_read.c:1326]:   tcp_read_req():错误:tcp_read_req:错误读取

随处搜索但无法找到解决方案......

2 个答案:

答案 0 :(得分:0)

错误表明tcp连接中断并且读取超时。

当Kamailio似乎没有处理流量时进行故障排除的方法:

  • 请确保您没有进行数据包限制的状态防火墙(例如selinux)
  • 使用sipsak或sipp从同一服务器发送数据包并查看是否有响应 - 这应排除网络问题
  • 使用gdb附加到kamailio进程并查看它们正在做什么:gdb / path / to / kamailio PID。您可以使用'kamctl ps'查看kamailio进程及其角色的PID。
  • 如果你做'顶级'并且一些kamailio进程正在使用大量的cpu,请首先使用上面的gdb调查它们

答案 1 :(得分:0)

我终于发现了这个问题,Ubuntu内核3.19.0-28-通用,已知有一些网络性能问题。这导致非常高的使用和连接问题。将内核更新到最新版本解决了这个问题。