Apache工作者MPM和Linux线程

时间:2009-11-15 04:35:07

标签: multithreading apache linux-kernel

Apache的worker MPM为每个进程创建多个线程,每个线程处理一个请求。从2.6开始,Linux内核使用Native POSIX Threading Library,它具有1:1的线程模型。鉴于此,如果有100个同时请求被服务,我希望看到100个apache进程(一个请求 - >一个线程 - >一个进程)。但是,经过一些现实世界的测试后,我发现情况并非如此。这是怎么回事?

1 个答案:

答案 0 :(得分:1)

NPTL的1对1模型并不意味着每个进程有1个线程。它意味着一个用户级线程到一个内核线程,因此不需要像mxn模型那样的两个调度程序。这在NPTL设计here中有详细解释。