阿弥陀佛
发布时间:2014-02-21 15:42:30
nginx有一些全局变量,Nginx希望所有的进程都可以共享这些变量。共享变量方案有三种:1.首选mmap的匿名映射2.没有1,尝试mmap映射到/dev/zero上3.最后尝试使用共享内存 shmget从内存中申请一个内存区域。我认为这可能是从性能上考虑,率先使用mmap的匿名映射方法。.........【阅读全文】
发布时间:2014-02-20 15:07:39
使用gdb调试跟踪nginx的方法与跟踪普通的方法不同。调试的方法是1.开启nginx,此时nginx的进程已经处于后台运行。2. gdb -p +worker进程的pid 可以调试worker进程,当然也可以利用这种方法调试他的父进程,但是父进程并没有真正的处理实际的业务。3. 为这个进程设置断点。可以发现,nginx的mas.........【阅读全文】
发布时间:2014-02-20 09:09:21
之前一直困惑,ext4 作为一个存储系统,如何处理来自用户的write过程调用,ext4是什么进程模型。查看文件系统的源代码发现,作为一个文件系统,他只需要完成相应的文件系统的接口就可以,并不像应用软件一样需要有自己的进程。当执行普通的写的时候,只是让用户态的进程陷入到了内核态而已,如下图所示:当我打开一个vim.........【阅读全文】
发布时间:2014-02-08 11:33:37
nginx的proxy模块 可以实现类似于Squid的缓存功能,HTTP的缓存与文件系统或者块设备的缓存还有所不同,文件系统或者块设备的缓存可以使用预取方法做优化,提前预取出将要被访问的部分,但是HTTP的缓存却无法预知文件的访问情形。可以在nginx里面实现动态页面的静态化工作。用户第一次访问index.php页面,由于nginx的缓存.........【阅读全文】
发布时间:2014-02-02 17:26:51
nginx将他的处理工作分为11个阶段,其中4个为只能有一个handler函数,7个阶段为可以有多个处理函数,各个阶段的类型如下图所示:点击(此处)折叠或打开typedef enum { NGX_HTTP_POST_READ_PHASE = 0, .........【阅读全文】