上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 64 下一页
摘要: 尝试获取锁,如果获取了锁,那么还要将当前监听端口全部注册到当前worker进程的epoll当中去 获取失败就需要确保此时ls-fd 没有被 epoll 监听 ngx_int_t ngx_trylock_accept_mutex(ngx_cycle_t *cycle) { if (ngx_shmtx_ 阅读全文
posted @ 2020-08-09 23:41 codestacklinuxer 阅读(232) 评论(0) 推荐(0) 编辑
摘要: static void ngx_cache_manager_process_cycle(ngx_cycle_t *cycle, void *data) { /* * Set correct process type since closing listening Unix domain socket 阅读全文
posted @ 2020-08-09 18:41 codestacklinuxer 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 网络设备一次能够传输的最大数据量就是MTU,即IP传递给网络设备的每一个数据包不能超过MTU个字节,IP层的分段和重组功能就是为了适配网络设备的MTU而存在的。从理论上来讲,TCP可以不关心MTU的限定,只需要按照自己的意愿随意的将数据包丢给IP,是否需要分段可以由IP透明的处理,但是由于TCP是可 阅读全文
posted @ 2020-08-07 21:06 codestacklinuxer 阅读(1019) 评论(0) 推荐(1) 编辑
摘要: http://www.cnhalo.net/2016/09/13/linux-gro/ GRO(Generic receive offload): 在napi poll里把小包封装成大包再递交给协议栈 LRO: GRO的硬件实现(通过网卡的RSC功能) http://lwn.net/Articles 阅读全文
posted @ 2020-08-07 21:05 codestacklinuxer 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 1、connection 字段 2、accept 字段 3、user-agent 字段 4、host字段 等字段需要注意: HTTP事务的延时主要有以下:1).解析时延 DNS解析与DNS缓存 客户端首先需要根据URL确定Web服务器的IP地址和端口号,如果最近没有对URL中的主机名进行访问,通过D 阅读全文
posted @ 2020-08-05 23:04 codestacklinuxer 阅读(181) 评论(0) 推荐(0) 编辑
摘要: /* * Main IP Receive routine. */ int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, struct net_device *orig_dev) { const 阅读全文
posted @ 2020-08-05 20:01 codestacklinuxer 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 今天看代码的时候注意了一下 hash 以及看了下读书时候的笔记, 主要就是说: hash桶大小以及hash 算法 1、目前hash桶的大小都是素数(和2倍相近的一个素数) 设有一个哈希函数H( c ) = c % N;当N取一个合数时,最简单的例子是取2^n,比如说取2^3=8,这时候H( 1110 阅读全文
posted @ 2020-07-30 23:52 codestacklinuxer 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 互斥:是指散布在不同进程之间的若干程序片段,当某个进程执行其中的一个程序片段时,其他进程就不能运行它们之中的任一程序片段,只能等到该进程运行完之后才可以继续运行。 同步:是指散布在不同进程之间的若干程序片段,它们的运行必须严格按照一定的先后次序来运行,这种次序依赖于要完成的任务 内核中的同步问题一般 阅读全文
posted @ 2020-07-29 23:00 codestacklinuxer 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 今天看公司代码时,发现代码里面都是使用epoll,有的备注 epoll 效率比poll 高!!! 所以就得说一说了;宏观看一看epoll 和select的实现: select原理概述 调用select时,会发生以下事情: 从用户空间拷贝fd_set到内核空间; 注册回调函数__pollwait; 遍 阅读全文
posted @ 2020-07-28 20:30 codestacklinuxer 阅读(2078) 评论(0) 推荐(2) 编辑
摘要: 对于dpdk收到的报文,从物理口上收到的报文,非内核接口发出的报文, 目前都是基于session流,类似于内核协议栈里面的netfiler的tuple来实现的, 一般一个session 里面有flow_org和 flow_reply两个flow。 目前存在路由接口也就是三层接口 l3ethx,接口上 阅读全文
posted @ 2020-07-01 20:41 codestacklinuxer 阅读(193) 评论(0) 推荐(0) 编辑
上一页 1 ··· 43 44 45 46 47 48 49 50 51 ··· 64 下一页