最近我也遇到这个问题,所以想办法解决。 https://github.com/openresty/stream-lua-nginx-module/blob/master/src/ngx_stream_lua_socket_udp.c 第35行#define UDP_MAX_DATAGRAM_SIZE 8192 改成 #define UDP_MAX_DATAGRAM_SIZE 65535
到现在我都不明白为什么要限制,你可以默认值是8192,但是最大值限制,弄不懂。
支持大的报文就有大的内存开销,实际上通过公共网络就不应发送很大的UDP报文。
这个内存开销就是每个进程64k很大吗!人为制造障碍了
feng 谢谢你的提醒,原来没有注意看消息,以为是nginx的默认代码呢。 仔细看了一下代码,确实是不应该限制为8k,麻烦提一个PR到开源社区。