摘要: 前一节讲述了最基本的客户端-服务器,本节讲述如何解决僵尸子进程回收问题。 我们知道,子进程退出后,父进程可以通过wait获取子进程的状态,而后清楚子进程剩余内核空间,从而避免僵尸进程造成的内存泄露。 对于wait函数,一般使用wait或waitpid两个函数,其区别主要是,waitpid可以指定pi 阅读全文
posted @ 2019-02-24 16:12 丶丨zuoluo 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 个人认为《Unix网络编程》前4章可以好好看几遍,不用先着急编程。另外作者提供的源码封装太重,不如自己基于原始库函数编写客户端以及服务器,目前一些开源的项目也都是基于这些基础库函数的。 在了解了前四章的主要知识点后,比如socket、bind、connect、listen、accept等函数后,对网 阅读全文
posted @ 2019-02-23 21:29 丶丨zuoluo 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 好久没有系统的看书了,今天读下《构建高性能weg站点》的第十一章 数据库性能优化,记录下知识点 知识点: 1、如何查看数据库状态;2、正确使用索引;3、分析sql;4、组合索引;5、慢查询分析 1、状态报告 通过MySQL的命令查看数据库状态,缺点:全是数字,不够直观 show status; sh 阅读全文
posted @ 2019-01-20 17:47 丶丨zuoluo 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 我们知道nginx的配置是从配置文件中读取的,那么nginx是怎么将这些配置文件对应的配置项和值填入对应模块的内存的。下面我们将从简单的配置解析逐渐到整个配置的解析进行。 打开nginx.conf可以看到配置文件中有简单配置和复杂配置,我们这里先解析只有简单的配置,因此对配置解析的代码进行精简,只提 阅读全文
posted @ 2017-02-28 22:43 丶丨zuoluo 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 1 struct ngx_conf_s { 2 //配置名称 3 char *name; 4 //配置参数 5 ngx_array_t *args; 6 7 8 //cycle 9 ngx_cycle_t *cycle; 10 //内存池 11 ... 阅读全文
posted @ 2017-02-28 21:48 丶丨zuoluo 阅读(161) 评论(0) 推荐(0) 编辑
摘要: mark 阅读全文
posted @ 2017-02-28 21:12 丶丨zuoluo 阅读(185) 评论(0) 推荐(0) 编辑
摘要: core/ngx_string.c ngx_pstrdup \src\os\unix\ngx_files.h: ngx_file_size 阅读全文
posted @ 2017-02-26 20:34 丶丨zuoluo 阅读(495) 评论(0) 推荐(0) 编辑
摘要: core/ngx_conf_file.h buffer:配置文件缓存,在配置文件解析时提供缓存作用。 dump: line:当前配置文件解析的行数 file:配置文件的相关信息: core/ngx_file.h core/ngx_core.h ngx_fd的数据结构如下: src\os\unix\n 阅读全文
posted @ 2017-02-26 20:10 丶丨zuoluo 阅读(262) 评论(0) 推荐(0) 编辑
摘要: worker的执行主要是初始化worker进程 修改worker进程名称 通过tag判断是否退出worker进程 最重要的是:进行时间和定时器的处理。 阅读全文
posted @ 2017-02-17 14:59 丶丨zuoluo 阅读(710) 评论(0) 推荐(0) 编辑
摘要: 在mater进程首先通过调用ngx_start_worker_processes(cycle, ccf->worker_processes,NGX_PROCESS_RESPAWN);函数启动worker进程。 其中ccf->worker_processes代表启动的worker进程个数 1.变量声明 阅读全文
posted @ 2017-02-17 13:46 丶丨zuoluo 阅读(1933) 评论(0) 推荐(0) 编辑