- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- Spring框架的设计理念与设计模式分析.doc
- Spring知识点.doc
- spring的事务类型详解.doc
- Spring框架的设计理念.doc
- Spring笔试考试题目.doc
- SPR污水处理技术.doc
- spring面试题.doc
- SPR生物传感芯片研发技术背景.doc
- SPSS-单因素方差分析.doc
- SPSS100高级教程十三分类资料的Logistic回归分析.doc
- 2024年05月中国矿业报社2024年度公开招考工作人员笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年04月黑龙江省人民检察院铁路检察机关2024年公开遴选10名公务员笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年05月中共北京市委党史研究室北京市地方志编纂委员会办公室所属事业单位招考聘用笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年05月202山东青岛市文化和旅游局所属部分事业单位公开招聘紧缺急需专业人才5人笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年05月云南临沧市中级人民法院招考聘用警务辅助人员6人笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年04月辽宁大连理工大学附属中心医院(大连市中心医院)护理人员招考聘用110人笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年04月黑龙江齐齐哈尔医学院附属第一医院招考聘用91人笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年04月黑龙江哈尔滨医科大学招考聘用161人笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年04月首都医科大学附属北京口腔医院面向应届生招考聘用笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
- 2024年04月黑龙江齐齐哈尔医学院招考聘用笔试历年高频考点(难、易错点荟萃)附带答案详解.docx
文档评论(0)