我们致力于一个Apache知识的分享网站

Home » Apache初级应用 » apache软件体系结构

apache软件体系结构


2009-04-08 14:26:15  |   才被看了2,296次  |   要评论?
分类: Apache初级应用  |   发布:   |   来源:Data & Architecture DBA

Tags: ,

apache不同的版本,软件体系结构差别还是比较大,一种是进程式处理connection request,另外一种是线程式处理connection request.进程式处理如下图所示:

1

如果连接比较多,parent进程会fork很多的child子进程来处理connection,每一个子进程一次只能处理一个连接,并发度低,系统吞吐量不高。还有一个比较大的缺点是占用内存多。

线程式处理软件结构如下图所示:

2

在这种结构里,子进程仍然为父进程fork,但子进程里会有多个线程(thread),每一个线程可以处理一个连接请求,该进程内的线程共享进程的内存地址空间,CPU对线程进行调度,提高了CPU的利用率,由于减少了child进程的数据,也减少了apache的内存消耗;由于采用线程处理连接请求的机制,apache同时能够处理的连接请求大大增加。通常对apache设置如下的参数:

StartServers         5
ServerLimit          30
MaxClients           2000
MinSpareThreads      75
MaxSpareThreads      200
ThreadsPerChild      80
对于这些参数什么含义,大家可以网上google一下。

关于HTTP 协议中的 KeepAlive 用apache实现禁止IP段或者主机对某个目录的访问

Leave a Reply