MemCache的简单介绍 高性能的分布式内存对象缓存系统,读写速度非常快,解决了IO读写慢的痛苦,它主要是考虑的性能,没有容灾功能,当缓存服务器挂掉后,数据将会全部的丢失。Memcache中的key的值最大是255字符,会将可以用的内存进行分区,然后在对每一个区域进行分块,每个块有1M,存放的数据 ...
分类:
系统相关 时间:
2017-05-07 16:49:29
阅读次数:
203
滑动窗口 但要提高网络利用率: nagle算法 ~ 延迟 慢启动、拥塞避免 发送端主导cwnd init set ssthresh & cwnd = swnd loop : 网不阻塞 (cwnd < ssthresh)(cwnd > ssthresh)(cwnd == ssthresh) cwnd* ...
分类:
其他好文 时间:
2017-04-23 16:48:46
阅读次数:
174
TCP通信粘包问题分析和解决(全) 在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小、数据 ...
分类:
其他好文 时间:
2017-03-04 18:50:25
阅读次数:
270
我觉得这篇讲的不错。 http://blog.csdn.net/c_cyoxi/article/details/8673645 Nagle算法的基本定义是任意时刻,最多只能有一个未被确认的小段。 关闭:通过加TCP_NODELAY选项。 TCP_CORK 选项: 所谓的CORK就是塞子的意思,形象地 ...
分类:
其他好文 时间:
2017-03-02 16:15:35
阅读次数:
184
一般说来,我们总是希望数据传输得更快一些。但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失。 流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。 利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。 A ...
分类:
其他好文 时间:
2017-02-19 10:21:45
阅读次数:
267
1. 异步化, 以epoll为代表。libevent也是基于epoll而实现的。 2. 消息驱动, 是跟异步化相结合,reactor模式。另有Scala的Actor模式,是完全的消息交互。 3. 一些TCP参数, 比如禁掉Nagle选项,不要打开CORK算法,使得发包和ack不要延迟太多。 4. S ...
分类:
其他好文 时间:
2017-01-07 22:46:48
阅读次数:
271
Nagle算法是以他的发明人John Nagle的名字命名的,它用于自动连接许多的小缓冲器消息;这一过程(称为nagling)通过减少必须发送包的个数来增加网络软件系统的效率。Nagle算法于1984年定义为福特航空和通信公司IP/TCP拥塞控制方法,这是福特经营的最早的专用TCP/IP 网络减少拥 ...
分类:
编程语言 时间:
2016-12-29 23:22:06
阅读次数:
302
TCP/IP之Nagle算法与40ms延迟提到了Nagle 算法。这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagle 算法。禁止Nagle后应用程序向内核递交的每个数据包都会立即发送出去。但是禁止Nagle,网络传 ...
分类:
其他好文 时间:
2016-12-24 19:47:53
阅读次数:
197
delayed ack和nagles算法都能减少tcp传输过程中的小数据包的问题 tcpip卷二25章中提到tcp为每个连接建立7个定时器: 1.connection established 2.restransmission 3.delayed ack(https://en.wikipedia.o ...
分类:
编程语言 时间:
2016-11-12 02:09:03
阅读次数:
309
redis 连接建立 Redis Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作: 首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是非阻塞多路复用模型。 ...
分类:
其他好文 时间:
2016-10-28 17:45:29
阅读次数:
190