01linux内核参数注释与优化
对比网上其他人的生产环境优化参数,需要优化的参数基本差不多,只是值有相应的变化。具体优化值要参考应用场景,这儿所列只是常用优化参数,是否适合,可在上面查看该参数描述,理解后,再根据自己生产环境而设
02libevent简介和使用
libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库。总体来说,libevent有下面一些特点和优势:1、事件驱动,高性能;2、轻量级,专注于网络;3、跨平台,支持 Windows、Linux、Mac Os等;4、 支持多种 I/O多路复用技术, epoll、poll、dev/poll、select 和kqueue 等; 5、支持 I/O,定时器和信号等事件;
03Linux下内核TCP参数优化(以CentOS为例)
内核的优化跟服务器的优化一样,应本着稳定安全的原则。下面以64位的Centos5.5下的Squid服务器为例来说明,待客户端与服务器端建立TCP/IP连接后就会关闭SOCKET,服务器端连接的端口状态也就变为TIME_WAIT了。那是不是所有执行主动关闭的SOCKET都会进入TIME_WAIT状态呢?

04epoll在LT和ET模式下的读写方式
在epoll的ET模式下,正确的读写方式为:读: 只要可读, 就一直读,直到返回0,或者 errno = EAGAIN,写:只要可写, 就一直写,直到数据发送完,或者 errno = EAGAIN
05Socket编程之非阻塞connect
在 TCP socket 被设置为非阻塞的情况下调用 connect ,若没有立即返回成功,则会返回 -1 以及 errno = EINPROGRESS 的 错误,其表示连接操作正在进行中,但是尚未完成,与此同时 TCP 三次握手操作会同时进行。在这之后,我们可以通过 select/epoll 来检查这个链接是否建立成功
06UNIX网络编程之epoll 的accept,read,write
在epoll的ET模式下,正确的读写方式为:读: 只要可读, 就一直读,直到返回0,或者 errno = EAGAIN,写:只要可写, 就一直写,直到数据发送完,或者 errno = EAGAIN

07深入浅出TCP之send和 recv
每个TCP socket在内核中都有一个发送缓冲区和一个接收缓冲区,TCP的全双工的工作模式以及TCP的滑动窗口便是依赖于这两个独立的buffer以及此buffer的填充状态
08send或write socket遭遇SIGPIPE信号
当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了
09setsockopt参数之SO_REUSEADDR
这个套接字选项通知内核,如果端口忙,但TCP状态位于 TIME_WAIT ,可以重用端口。如果端口忙,而TCP状态位于其他状态,重用端口时依旧得到一个错误信息,指明"地址已经使用中"。

10 Linux socket非阻塞connect方法
套接字执行I/O操作有阻塞和非阻塞两种模式。在阻塞模式下,在I/O操作完成前,执行操作的函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O是否完成,该函数所在的线程会继续运行。
11TCP协议疑难杂症全景解析
TCP协议是一个端到端的协议,虽然话说它是一个带流量控制,拥塞控制的协议,然而正是因为这些所谓的控制才导致了TCP变得复杂。同时这些特性是互相杂糅的,流量控制带来了很多问题,解决这些问题的方案最终又带来了新的问题...
12tcpdump 抓包分析
tcpdump tcp port 8080 and host 101.226.114.142 -w 1.pacp
Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具。但在Linux下很难找到一个好用的图形化抓包工具。
还好有Tcpdump。我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包。

点击排行

站长推荐

猜你喜欢
站点信息
- 建站时间:2016-04-01
- 文章统计:728条
- 文章评论:82条
- QQ群二维码:扫描二维码,互相交流
