1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
squid分析

1.重要变量 static MemPoolMeter TheMeter; static Stack Pools; 全局内存栈,在程序启动时该栈初始化,整个程序中需要的内存。 static MemPool *MemPools[MEM_MAX]; (MEM_MAX值为49-52)不用大小的内存块 int store_hash_buckets storage对象的最大数 RemovalPolicy *mem_policy; storage置换策略 hash_table *store_table = NULL; storage哈希列表 int client_pconn_hist[PCONN_HIST_SZ]; int server_pconn_hist[PCONN_HIST_SZ]; static MemPool *pconn_data_pool = NULL; static MemPool *pconn_fds_pool = NULL; action_table *ActionTable = NULL; fde *fd_table 全局数组,存放fd,处理函数等 static hash_table *client_table = NULL; http原始请求客户端,static struct ev_entry *tasks = NULL; 全局事件链表,主循环中依次执行注册到该链表的事件,事件管理见Event.c文件 2.重要数据结构 MemPoolMetertypedef struct _MemPoolMeter MemPoolMeter; struct _MemPoolMeter { MemMeter alloc; MemMeter inuse; MemMeter idle; gb_t saved; gb_t total; }; Stack typedef Array Stack; typedef struct { int capacity; int count; void **items; } Array; MemPool typedef struct _MemPool MemPool; struct _MemPool { const char *label; size_t obj_size; #if DEBUG_MEMPOOL size_t real_obj_size; /* with alignment */ #endif Stack pstack; /* stack for free pointers */ MemPoolMeter meter; #if DEBUG_MEMPOOL MemPoolMeter diff_meter; #endif }; hash_table typedef struct _hash_table hash_table; struct _hash_table { hash_link **buckets; HASHCMP *cmp; HASHHASH *hash; unsigned int size; unsigned int current_slot; hash_link *next; int count; }; hash_link typedef struct _hash_link hash_link; struct _hash_link { void *key; hash_link *next; }; fde typedef struct _fde fde; struct _fde { unsigned int type; u_short local_port; u_short remote_port; struct in_addr local_addr; unsigned char tos; char ipaddr[16]; /* dotted decimal address of peer */ char desc[FD_DESC_SZ]; struct { unsigned int open:1; unsigned int close_request:1; unsigned int write_daemon:1; unsigned int closing:1; unsigned int socket_eof:1; unsigned int nolinger:1; unsi

您可能关注的文档

文档评论(0)

youshen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档