Linux下UDP发送大量请求导致Operation not permitted的问题探讨
一、问题背景
目前公司准备上微服务的架构模式,在对比大量的API网关之后,最后选中了Kong作为我们的API网关,在经过大量的研究之后,啊呸,踩坑之后,终于跑起来了,简直是普天同庆,撒花祝贺。
但是在美滋滋的进行性能测试的时候,发现1000个并发总共10000个请求,在执行到第二次的时候,总是会卡着不动了,SO,又是各种查log,发现是UDP报错,报错信息:Operation not permitted,看得我简直一脸懵逼,就像这样

看来我必须去找谷歌这个帮手了

二、问题产生原因
问题主要是在Linux下向同一个端口发送大量的UDP请求,导致连接跟踪表满了,才会报这个错误
三、解决方案
1、关闭防火墙(目前我是通过关闭防火墙解决的)
2、理论上应该是可以通过设置NOTRACK来解决该问题(未去找资料实现)
如部分文档有侵权,请联系:568898448
作者: 因致研发官方博客
出处: http://www.cnblogs.com/yizitrd/>
关于公司:专注制造业MES系统,也开始涉足工业互联网相关
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(hongjb@yizit.com)咨询.
Linux下UDP发送大量请求导致Operation not permitted的问题探讨的更多相关文章
- Linux下UDP简介及程序设计
		
一.UDP简介 UDP(User Datagram Protocol),用户数据报协议,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务.UDP提供了无连接通信,且不对传 ...
 - Linux下查看Apache的请求数
		
在Linux下查看Apache的负载情况,以前也说过,最简单有有效的方式就是查看Apache Server Status(如何开启Apache Server Status点这里),在没有开启Apach ...
 - IE9下JQuery发送ajax请求失效
		
最近在做项目的时候,测试PC端网页,在IE9下会失效,不能正常的发送POST请求,经过仔细的排查,发现是IE9下JQuery发送ajax存在跨域问题. 目前有两种解决方案: 解决方案一: 设置浏览 ...
 - Linux系统下UDP发送和接收广播消息小例子
		
// 发送端 #include <iostream> #include <stdio.h> #include <sys/socket.h> #include < ...
 - Linux系统下UDP发送和接收广播消息小样例
		
[cpp] view plaincopy // 发送端 #include <iostream> #include <stdio.h> #include <sys/sock ...
 - Linux下UDP一发一收通信
		
实现在Linux环境下的UDP通信测试. 注释了while循环,将代码规范化. udpserver.c代码: /******************************************** ...
 - [Linux]Linux下yaf发送IPV4和IPV6的IPfix
		
一.IPFIX与NetFlow 一.IPFIX 全称IP Flow Information Export,即IP流信息输出,是网络流量监测的国际标准.IPFIX是IETF的一个工作组,它的主要工作就是 ...
 - linux下udp编程
		
#include<sys/types.h> #include<sys/socket.h> #include<unistd.h> #include<netine ...
 - Linux下UDP收/发广播消息简单实现
		
发送广播消息 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/typ ...
 
随机推荐
- mysql 自连接查询数据
			
今天项目BOSS提了个sql语句需求,我听得稀里糊涂,没办法,一步步讨论.实践,最终搞定. 先上建表语句: /* Navicat MySQL Data Transfer Source Server : ...
 - CSS选择器(三)
			
九.CSS 伪类 (Pseudo-classes) CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪类 (Pseudo-classes)实例: 1.向文档中的超链接添加不同的颜色. <s ...
 - Python lambda 匿名函数
			
lambda [arg1[, arg2, ... argN]]: expression Python使用lambda关键字创造匿名函数.所谓匿名,意即不再使用def语句这样标准的形式定义一个函数.这种 ...
 - 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈
			
题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...
 - 《程序员代码面试指南》第二章 链表问题 将单链表每K个节点之间逆序
			
样例 链表1-2-3-4-5-6-7-8-9-10 K=3 ,结果 3-2-1-6-5-4-9-8-7-10 java代码 /** * @Description:将单链表每K个节点之间逆序 * @Au ...
 - 【leetcode刷题笔记】Max Points on a Line
			
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...
 - 常用阻止ajax缓存方法集锦
			
HTML 通过添加meta标签 <meta http-equiv= "pragma" content= "no-cache"/> (pragma: ...
 - nginx Unit 服务器
			
转自: https://github.com/nginx/unit/pull/18/ 感谢: https://www.v2ex.com/t/389528 English 简体中文 繁體中文 NGINX ...
 - O(1) 快速乘
			
有一些毒瘤题,数据大小不光会炸\(int\),有时甚至会炸\(long long\).这时一个\(O(1)\)的防爆乘就很重要了 \(a*b%p\)可以转化为\(a*b-[a*b/p]*p\) 这里用 ...
 - Netty使用LineBasedFrameDecoder解决TCP粘包/拆包
			
TCP粘包/拆包 TCP是个”流”协议,所谓流,就是没有界限的一串数据.TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TC ...