0

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

2 月 4 日 01:02:21 urcmcs /usr/local/sbin/kamailio[1956]:错误:[tcp_read.c:299]:tcp_read_data():读取错误:连接超时 (110) 2 月 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():读取错误:连接超时 (110) 2 月 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]: ERROR: [tcp_read.c:1326]: tcp_read_req(): ERROR: tcp_read_req: error reading

到处搜索,但找不到解决方案...

4

2 回答 2

0

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

于 2016-04-04T06:39:43.473 回答
0

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

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

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