現象
高併發呼叫時FreeSWITCH通過lua發出http請求,發生段錯誤後進程退出。
debug時最深可追蹤到:
inet_tryconnect () from /usr/lib64/lua/5.1/socket/core.so
環境描述
FreeSWITCH版本號: 1.8.1
luasocket版本號: luasocket-2.0.2
原因
2.0.x版本問題。
解決辦法
升級安裝luasocket-3.0-rc1版本進行併發測試(600併發),沒有出現進程退出的問題。相同環境回退到2.0.x版本再測試(200併發),復現了該問題。
安裝luasocket的方法
源碼安裝
wget https://github.com/diegonehab/luasocket/archive/v3.0-rc1.tar.gz
tar zxvf luasocket-xx.tar.gz
cd luasocket-xx
make
make install
yum安裝
yum install luarocks -y
luarocks install luasocket