tcp
linyu19872008
这个作者很懒,什么都没留下…
展开
-
Linux TCP 连接数修改
Linux TCP 连接数修改 一、 文件数限制修改(1) vi /etc/security/limits.conf* soft nofile 10240* hard nofile 10240 (2) vi /etc/pam.d/loginsession required /lib/security/pam_limits.so转载 2014-02-12 10:06:14 · 651 阅读 · 0 评论 -
统计TCP命令
统计linux服务器TCP状况netstat -n | grep 5003|awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'原创 2017-03-10 10:32:08 · 316 阅读 · 0 评论 -
100万并发连接服务器笔记之Java Netty处理1M连接会怎么样
前言每一种该语言在某些极限情况下的表现一般都不太一样,那么我常用的Java语言,在达到100万个并发连接情况下,会怎么样呢,有些好奇,更有些期盼。这次使用经常使用的顺手的netty NIO框架(netty-3.6.5.Final),封装的很好,接口很全面,就像它现在的域名 netty.io,专注于网络IO。整个过程没有什么技术含量,浅显分析过就更显得有些枯燥无聊,准备好,硬着头皮吧转载 2014-10-21 16:51:49 · 860 阅读 · 0 评论 -
TCP监测必备命令
1 查看当前网络信息统计原创 2014-10-21 16:02:45 · 801 阅读 · 0 评论 -
100万并发连接服务器笔记之1M并发连接目标达成
第四个遇到的问题:tcp_mem在服务端,连接达到一定数量,诸如50W时,有些隐藏很深的问题,就不断的抛出来。 通过查看dmesg命令查看,发现大量TCP: too many of orphaned sockets错误,也很正常,下面到了需要调整tcp socket参数的时候了。第一个需要调整的是tcp_rmem,即TCP读取缓冲区,单位为字节,查看默认值cat /proc/s转载 2014-10-21 15:56:10 · 564 阅读 · 0 评论 -
linux服务器内核报错,printk: 58 messages suppressed和Out of socket memory
20120830发现日本服务器 27和28 有报错日志。详细如下:Aug 31 18:25:36 collect-28 kernel: printk: 58 messages suppressed.Aug 31 18:25:36 collect-28 kernel: Out of socket memory故障排查分析:第一条日志分析:查找信息,Aug 31 1转载 2014-10-21 14:41:39 · 685 阅读 · 0 评论 -
linux修改TCP连接数(centos实测)
linux系统为:centos 6.4 64位 一、 文件数限制修改(1) vi /etc/security/limits.conf在末尾追加* soft nofile 10240* hard nofile 10240 (2) vi /etc/pam.d/login在末尾追加session required /lib/原创 2014-02-13 10:39:13 · 4830 阅读 · 0 评论 -
TCP端口状态说明ESTABLISHED、TIME_WAIT
TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得 注意的状态有两个:CLOSE_WAIT和TIME_WAIT。原创 2014-02-13 10:44:40 · 832 阅读 · 0 评论 -
mina源码分析五(转)
前面介绍过IoSessionRecycler是负责回收不再使用的会话的接口,ExpiringSessionRecycler是其一个实现类,用于回收超时失效的会话。private ExpiringMap sessionMap;//待处理的会话集private ExpiringMap.Expirer mapExpirer;//负责具体的回收工作sessionMap的键是由本地地址和远端地址共转载 2014-02-17 15:01:18 · 649 阅读 · 0 评论 -
mina源码分析六(转)
上文的内容还有一些没有结尾,这篇补上。在ExpiringMap类中,使用了一个私有内部类ExpiringObject来表示待检查超时的对象,它包括三个域,键,值,上次访问时间,以及用于上次访问时间这个域的读写锁: private K key; private V value; private long lastAccessTime;转载 2014-02-17 15:23:40 · 700 阅读 · 0 评论 -
mina源码分析八(转)
这篇来看看AbstractPollingIoConnector抽象类,它用于用于实现客户端连接的轮询策略。处理逻辑基本上和上一篇文章说的AbstractPollingIoAcceptor类似,它继承自AbstractIoConnector,两个泛型参数分别是所处理的会话和客户端socket连接。底层的sockets会被不断检测,并当有任何一个socket需要被处理时就会被唤醒去处理。这个类封装了客转载 2014-02-17 16:00:22 · 598 阅读 · 0 评论 -
mina源码分析四(转)
前面几篇介绍完了org.apache.mina.core.service这个包,现在进入org.apache.mina.core.session,这个包主要是围绕IoSession展开的,包括会话的方方面面。IoSession接口与底层的传输层类型无关(也就是不管是TCP还是UDP),它表示通信双端的连接。它提供用户自定义属性,可以用于在过滤器和处理器之间交换用户自定义协议相关的信息。转载 2014-02-17 14:37:47 · 551 阅读 · 0 评论 -
mina源码分析七(转)
前面介绍完了org.apache.mina.core.session这个包,现在开始进入org.apache.mina.core. polling包。这个包里包含了实现基于轮询策略(比如NIO的select调用或其他类型的I/O轮询系统调用(如epoll,poll,kqueue等)的基类。先来看AbstractPollingIoAcceptor这个抽象基类,它继承自AbstractIo转载 2014-02-17 15:58:46 · 531 阅读 · 0 评论 -
mina源码分析三(转)
AbstractIoAcceptor类继承自AbstractIoService基类,并实现了IoAcceptor接口,它主要的成员变量是本地绑定地址。 private final List defaultLocalAddresses = new ArrayList(); private final List unmodifiableDefaultLocalAddre转载 2014-02-17 11:54:22 · 578 阅读 · 0 评论 -
mina源码分析二(转)
这一篇主要介绍实现这些接口的抽象基类。首先是实现IoService接口的AbstractIoService类。它包含了一个Executor来处理到来的事件。每个AbstractIoService都一个AtomicInteger类型的id号,确保每个id的唯一性。它内部的Executor可以选择是从外部传递进构造函数中,也可以在实例内部自行构造,若是后者,则它将是ThreadPoolExec转载 2014-02-17 11:28:11 · 520 阅读 · 0 评论 -
mina源码分析一(转)
整个框架最核心的几个包是:org.apache.mina.core.serviceorg.apache.mina.core.sessionorg.apache.mina.core.pollingorg.apache.mina.transport.socketorg.apache.mina.core.service:第一个要说的接口是IoService,它是所有I转载 2014-02-17 10:49:57 · 712 阅读 · 0 评论 -
利用iptables对端口重定向
iptables -t nat -A PREROUTING -p tcp -i eth1 -d ip* --dport 5999 -j DNAT --to ip*:5222iptables-save > /etc/sysconfig/iptables 将连接到5999端口的链接转交给5222原创 2014-02-13 10:45:11 · 3728 阅读 · 0 评论 -
TCP端口状态说明ESTABLISHED、TIME_WAIT
TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得 注意的状态有两个:CLOSE_WAIT和TIME_WAIT。 1、...原创 2013-12-23 11:29:24 · 105 阅读 · 0 评论