squid分析.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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.重要数据结构 MemPoolMeter typedef 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; unsigned int

文档评论(0)

bm5044 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档