Nginx的高性能的是用很多细节来保证,epoll下的多路io异步通知,阶段细分化的异步事件驱动,那么在内存管理这一块也是用了很大心血,上一篇我们讲到了slab分配器,我们可以可以看到那是对共享内存的管理的优化。Nginx在进程内也实现了自己的内存池,目的在于减少内存碎片,减少向操作系统的申请次数,减低模块开发难度。Nginx实现的内存池实际上非常简单。...
分类:
其他好文 时间:
2014-05-08 00:37:29
阅读次数:
403
1、协同程序,一个具有多个协同程序的程序在任意时刻,只能运行一个协同程序,
只有正在运行的协同程序被挂起时,它的执行才会暂停。
创建
co = coroutine.create(匿名函数); -- 匿名函数就是线程要执行的东东
状态
coroutine.status(co);
唤醒
coroutine.resume(co);
挂起
coroutine.yie...
分类:
其他好文 时间:
2014-05-08 00:21:05
阅读次数:
367
nginx的配置:正常运行的必备配置:1、userusername[groupname];指定运行worker进程的用户和组2、pid/path/to/pidfile_namenginx的pid文件3、worker_rlimit_nofile#;一个worker进程所能够打开的最大文件句柄数;4、worker_rlimit_sigpending#;设定每个用户能够发往worker进程的..
分类:
其他好文 时间:
2014-05-07 22:23:03
阅读次数:
439
Thailand的同事笔记本进不了OS,画面上只有一个指针形鼠标,连safemode也进不了,在加载了\windows\system32\drivers\classpnp.sys后停留在同样的画面。首先是觉得系统文件有关,检查下硬盘是否不良,用HDtune查看:有行警告。然后在网上搜索了一圈,发现一个记录了同样问题的B..
这次介绍的案例是一个很有意思的故障,说它有意思是因为这个问题从WindowsServer2003到WindowsServer2012R2,都有可能出现………………具有广谱、杀伤力大、崩溃指数高等特点。具体故障描述是这样的:当ActiveDirectory域从2003升级至2008或更高版本,或其他级别的升级或其他不..
分类:
其他好文 时间:
2014-05-07 22:01:30
阅读次数:
358
利用OTP行为包构建的应用之所以可靠,是因为我们按照OTP的设计模式,将所有进程组织成了一棵可靠的supervisor tree。每一个supervisor监控其子进程,并在其子进程出错时按照重启策略进行相应的处理。
但是,你是否考虑过,如果supervisor意外终止,其子进程会怎样?当然,直觉告诉我们连监控进程的没有了,所有的子进程应全部终止。但是,你在代码中是否真正考虑过这种情况?你的...
分类:
其他好文 时间:
2014-05-07 21:52:20
阅读次数:
350
线程控制
线程属性
调用pthread_create函数的例子中,传入的参数都是空指针,而不是指向pthread_attr_t结果的指针。可以用pthread_attr_t结构修改线程默认属性,并把这些属性与创建的线程联系起来。可以使用pthread_attr_init函数初始化pthreaad_attr_t结构。调用pthread_attr_init以后,pthread_attr_t结构所...
分类:
编程语言 时间:
2014-05-07 21:41:14
阅读次数:
501
1、环境
tomcat6.0.8 + jdk6 + struts1
2、问题的产生
页面有两个异常的请求
http://127.0.0.1/project/a.action?do=testA&m=10
http://127.0.0.1/project/a.action?do=testB&m=10
两个请求几乎同步到达server。结果出现异常:
java.lang.NullP...
分类:
编程语言 时间:
2014-05-07 21:36:43
阅读次数:
344
下面的两个线程共享一个消息队列,一个用来放整数到队列,一个从队列里取消息出来。此程序在控制台不停的输出递增数字,主要是内存不会泄露
用到了多线程、ACE_Message_Queue、ACE_Message_Block、ACE_Thread_Manager::instance()->spawn等
#include
using namespace std;
#include "boost/lex...
分类:
其他好文 时间:
2014-05-07 21:29:38
阅读次数:
476