Apache 2.0�����Ż���MPM��ѡ��������
[����]��������ǰд��һƪ���£�����֮��һ���У���Ҫ�������Թٷ��ĵ��� ̸��Apache��������ϵͳ����Ա�����ȶ���1.3ӡ�������ȻApache 2.0��ϵ�п�����������Alpha��Beta��չ�����ڵ�GA��General Availability���棬��...
��������ǰд��һƪ���£�����֮��һ���У���Ҫ�������Թٷ��ĵ���
̸��Apache��������ϵͳ����Ա�����ȶ���1.3ӡ�������ȻApache 2.0��ϵ�п�����������Alpha��Beta��չ�����ڵ�GA��General Availability���棬����һЩ��DZ��ʶ�ﻹ��Ϊ�����沢�ǿ����������������ȶ��汾��������1.3����API��2.0�治���ݣ�ʹ�ô���ģ������Ҫ��д������2.0����ʹ�á�Apache 1.3��2.0֮�����ڲ��仯��ȷ�ϴ�����Apache��ʼ��Brian Behlendorf�Լ��Ļ���˵���������汾���������ٸ��µ����ԣ�����������ƷӦ�þ���3.1��8i�����IJ�Ʒ���ţ�������2.0����Apache 2.0�м����˺ܶ��ĺ��ĸĽ����¹��ܣ���Unix�̡߳���Э��֧�֡��µĹ���ϵͳ���Է�Unixƽ̨�ĸ���֧�֡�IPv6֧�֡��µ�Apache API���������������Դ�����Ӧ��ԭ����Windows NT Unicode֧�֡����������ã��Լ���������������ʽ���ȡ�����Ȼ������������ģ������Ҫ�Ľ���ͬʱҲ������һЩ�µ�ģ�顣
����Ϊ��ʹApache����ƽ���ش�1.3��������2.0�棬Apache�����Ŷ����˺ܶ����Ŀǰ�ܶ���Ҫ��ģ���Ѿ����Ժܺõ�֧��2.0�棬��PHP��FastCGI��Mod_perl��Mod_python�ȡ���httpd.conf��ָ��������ϣ�Ŀǰ��2.0�棨2.0.45����1.3���ļ������������൱�á����磬��ǰ��2.0������Ҫʹ��PHP��һ���ù�����ʵ�֣����ڵ�PHP�ٷ��ĵ����Ѿ�ʹ��1.3���е�LoadModule������Ϊ����PHP���Ƽ���ʽ��ֻҪ���˽�һ��Apache 2.0�������ԣ���1.3��������2.0�潫��һ���dz��������顣ʹ��Apache 2.0�Ǵ�����������ΪApache�Ŀ����Ŷ��Ѿ��ѿ�������ת�Ƶ�2.0���ϡ�1.3����2002��10�·�����1.3.27��һֱû���°汾�Ƴ�����2.0������1.3.27ͬʱ����2.0.43�����ڽ���1�·�����2.0.44�����ڽ���3��ĩ������2.0.45���������˺ܶ��Ľ���������
����MPM�������������ܸ���
����Apache 2.0�������ϵĸ����������ˡ���֧��POSIX�̵߳�Unixϵͳ�ϣ�Apache����ͨ����ͬ��MPM������һ�ֶ����������߳������ϵ�ģʽ�£���ǿ�������õĿ��������ܡ�������Apache 1.3��2.0�汾���˴������Ż����������������Ϳ������ԣ����Ҵ������Ľ���Ĭ��״̬�¼�����Ч�������ڱ���������ʱ�̣�2.0Ҳ���������������������ܵ�ѡ���IJ���������Щ�Թ��ܻ�ȡ�ٶȵ�ָ���HostnameLookups�ȣ���ֻ��˵����2.0��Ӱ�����ܵ����������ԣ�MPM��Multi-Processing Modules����������ģ�飩�Ļ�������ԭ��������ָ�
�����������ŵ�˵��MPM��������Apache 2.0����Ҫ�ı仯������֪����Apache�ǻ���ģ�黯�����ƣ���Apache 2.0����չ��ģ�黯���Ƶ�Web�����������������ܡ�������װ����һ�ֶ�������ģ�飬�������������˿ڡ��������������ӽ�����������������չģ�黯������������Ҫ�ô���
������ Apache���Ը����ࡢ��Ч��֧�ֶ��ֲ���ϵͳ��
������ ����������վ����������Ҫ�����Զ��ơ�
�������û�����MPM������������Apacheģ���dz����ơ���Ҫ������������ʱ��ֻ����һ��MPM��װ�ص��������С�
����ָ��MPM�ķ���
����������Red Hat Linux 9Ϊƽ̨��˵����Apache 2.0������ָ��MPM (Apache����2.0.45)���Ƚ�ѹ��Դ������httpd-2.0.45.tar.gz������httpd-2.0.45Ŀ¼��Apache 1.3Դ������������������apache_1.3.NN.tar.gz����2.0������httpd-2.0.NN.tar.gz������NN�Ǵΰ汾�ţ���
��������httpd-2.0.45Ŀ¼���������´��룺
$ ./configure --help|grep mpm
������ʾ���£�
--with-mpm=MPM
Choose the process model for Apache to use.
MPM={beos|worker|prefork|mpmt_os2| perchild|leader|threadpool}
����������������ѡ��Ҫʹ�õĽ���ģ�ͣ�������MPMģ�顣Beos��mpmt_os2�ֱ���BeOS��OS/2��ȱʡ��MPM��perchild��Ҫ����Ŀ�����Բ�ͬ���û����������������в�ͬ���ӽ��̡��������ж�����ҪCGI����������ʱ�ر����ã�����1.3���е�SuExec�������ø��á�leader��threadpool���ǻ���worker�ı��壬������ʵ���ԽΣ�ijЩ�����²����ᰴ��Ԥ����������������������Apache�ٷ�Ҳ�����Ƽ�ʹ�á����ˣ�������Ҫ����prefork��worker�����ֺ����ܹ�ϵ�����IJ�Ʒ��MPM ( �й�������MPM��ϸ˵�������μ�Apache�ٷ��ĵ���http://httpd.apache.org/docs-2.0... )��
����prefork�Ĺ���ԭ��������
�����������á�--with-mpm����ʽָ��ij��MPM��prefork����Unixƽ̨��ȱʡ��MPM���������õ�Ԥ�����ӽ��̷�ʽҲ��Apache 1.3�в��õ�ģʽ��prefork������û��ʹ�õ��̣߳�2.0��ʹ������Ϊ����1.3�汣�ּ����ԣ���һ���棬prefork�õ������ӽ�����������ͬ��������֮���DZ˴˶����ģ���Ҳʹ����Ϊ���ȶ���MPM֮һ��
������ʹ��prefork����make������make install��װ����ʹ�á�httpd -l����ȷ����ǰʹ�õ�MPM��Ӧ�ûῴ��prefork.c����������worker.c˵��ʹ�õ���worker MPM���������ƣ����ٲ鿴ȱʡ���ɵ�httpd.conf�����ļ������������������öΣ�
;
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
;
����prefork�Ĺ���ԭ���ǣ����ƽ���������������StartServers�����ӽ��̺���Ϊ������MinSpareServers���õ���Ҫ����һ�����̣��ȴ�һ���ӣ����������������ٵȴ�һ���ӣ����������ĸ��������˰�ָ�������Ӵ����Ľ������������ﵽÿ��32����ֱ������MinSpareServers���õ�ֵΪֹ��������Ԥ������prefork��������������ģʽ���Բ�������������ʱ�ٲ����µĽ��̣��Ӷ���С��ϵͳ�������������ܡ�
����MaxSpareServers�����������Ŀ��н��������������н�������������ֵ��Apache���Զ�kill��һЩ�������̡�����ֵ��Ҫ���ù�����������ֵ��MinSpareServersС��Apache���Զ���������ΪMinSpareServers+1������վ�㸺�ؽϴɿ���ͬʱ�Ӵ�MinSpareServers��MaxSpareServers��
����MaxRequestsPerChild���õ���ÿ���ӽ��̿ɴ�������������ÿ���ӽ����ڴ����ˡ�MaxRequestsPerChild�������������Զ����١�0��ζ�����ޣ����ӽ����������١���Ȼȱʡ��Ϊ0����ʹÿ���ӽ��̴��������������������ɷ���ֵҲ��������Ҫ�ĺô���
������ �ɷ�ֹ�������ڴ�й©��
������ �ڷ����������½���ʱ�����Զ������ӽ�������
�������ˣ��ɸ��ݷ������ĸ�������������ֵ��������Ϊ10000���ұȽϺ��ʡ�
����MaxClients����Щָ������Ϊ��Ҫ��һ�����趨����Apache����ͬʱ�������������Ƕ�Apache����Ӱ�������IJ�������ȱʡֵ150��ԶԶ�����ģ��������������Ѵﵽ����ֵ����ͨ��ps -ef|grep http|wc -l��ȷ�ϣ�����ô������������Ҫ�Ŷӣ�ֱ��ij���Ѵ����������ϡ�������ϵͳ��Դ��ʣ�ºܶ���HTTP����ȴ��������Ҫԭ����ϵͳ����Ա���Ը���Ӳ�����ú�����������̬��������ֵ����Ȼ����������ֵԽ���Դ�����������Խ�࣬��ApacheĬ�ϵ����Ʋ��ܴ���256������������ֵ��Ϊ����256����ôApache��������ʵ�ϣ�256���ڸ������ص�վ��Ҳ�Dz����ġ���Apache 1.3�У����Ǹ�Ӳ���ơ�����Ҫ�Ӵ�����ֵ�������ڡ�configure��ǰ�ֹ��ĵ�Դ�������µ�src/include/httpd.h�в���256���ͻᷢ�֡�#define HARD_SERVER_LIMIT 256�����С���256��ΪҪ������ֵ����4000����Ȼ�����±���Apache���ɡ���Apache 2.0���¼�����ServerLimitָ�ʹ�������ر���Apache�Ϳ��ԼӴ�MaxClients�������DZ��ߵ�prefork���öΣ�
;
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1000
MaxRequestsPerChild 10000
;
�������������У�ServerLimit������ֵ��20000�����ڴ�����վ���Ѿ��㹻������һ��Ҫ�ټӴ�������ֵ����λ��Դ��������server/mpm/prefork/prefork.c��������������Ӧ�ļ��ɣ�
#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000
����worker�Ĺ���ԭ��������
����������prefork��worker��2.0 ����ȫ�µ�֧�ֶ��̺߳Ͷ����̻���ģ�͵�MPM������ʹ���߳������������Կ��Դ������Ժ���������ϵͳ��Դ�Ŀ���ҪС�ڻ��ڽ��̵ķ����������ǣ�workerҲʹ���˶����̣�ÿ�����������ɶ����̣߳��Ի��û��ڽ��̷��������ȶ��ԡ�����MPM�Ĺ�����ʽ����Apache 2.0�ķ�չ���ơ�
������configure -with-mpm=worker����make���롢make install��װ����ȱʡ���ɵ�httpd.conf�����������öΣ�
;
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
;
����worker�Ĺ���ԭ���ǣ��������ƽ������ɡ�StartServers�����ӽ��̣�ÿ���ӽ����а����̶���ThreadsPerChild�߳����������̶߳����ش���������ͬ����Ϊ�˲�����������ʱ�������̣߳�MinSpareThreads��MaxSpareThreads���������ٺ������Ŀ����߳�������MaxClients�����������ӽ����е��߳����������������ӽ����е��߳������������㸺�أ����ƽ��̽������µ��ӽ��̡�
����MinSpareThreads��MaxSpareThreads������ȱʡֵ�ֱ���75��250��������������Apache������Ӱ�첢��������ʵ��������Ӧ���ڡ�
����ThreadsPerChild��worker MPM�����������������е�ָ�ThreadsPerChild������ȱʡֵ��64���������ؽϴ���64Ҳ�Dz����ġ���ʱҪ��ʽʹ��ThreadLimitָ���������ȱʡֵ��20000����������ֵλ��Դ����server/mpm/worker/worker.c�е��������У�
#define DEFAULT_THREAD_LIMIT 64
#define MAX_THREAD_LIMIT 20000
���������ж�Ӧ��ThreadsPerChild��ThreadLimit����������������configure֮ǰ�Ͱ�64�ij���ϣ����ֵ��ע�⣬��Ҫ��������ֵ����̫�ߣ�����ϵͳ�Ĵ����������Ӷ���Apache������ʹϵͳ�ܲ��ȶ���
����Workerģʽ������ͬʱ�������������������ӽ�����������ThreadsPerChildֵ�����ģ�Ӧ�ô��ڵ���MaxClients���������غܴ������е��ӽ�������������ʱ�����ƽ��̻������µ��ӽ��̡�Ĭ���������ӽ���������16���Ӵ�ʱҲ��Ҫ��ʽ����ServerLimit������ֵ��20000����������ֵλ��Դ����server/mpm/worker/worker.c�е��������У�
#define DEFAULT_SERVER_LIMIT 16
#define MAX_SERVER_LIMIT 20000
������Ҫע�����ǣ�������ʽ������ServerLimit����ô������ThreadsPerChild��ֵ�������ڵ���MaxClients������MaxClients������ThreadsPerChild��������������Apache�����Զ����ڵ�һ����Ӧֵ�������Ǹ�������ֵ���������DZ��ߵ�worker���öΣ�
;
StartServers 3
MaxClients 2000
ServerLimit 25
MinSpareThreads 50
MaxSpareThreads 200
ThreadLimit 200
ThreadsPerChild 100
MaxRequestsPerChild 0
;
����ͨ�������������������˽Apache 2.0��prefork��worker��������ҪMPM�Ĺ���ԭ�������ɸ���ʵ������������Apache���صĺ��IJ������Ի������������ܺ��ȶ��ԡ�
��������ϸ��д�Ե�http://httpd.apache.org/docs-2.0...
���߲��꣬��Դ��http://www.chinaunix.net/jh/13/4...
̸��Apache��������ϵͳ����Ա�����ȶ���1.3ӡ�������ȻApache 2.0��ϵ�п�����������Alpha��Beta��չ�����ڵ�GA��General Availability���棬����һЩ��DZ��ʶ�ﻹ��Ϊ�����沢�ǿ����������������ȶ��汾��������1.3����API��2.0�治���ݣ�ʹ�ô���ģ������Ҫ��д������2.0����ʹ�á�Apache 1.3��2.0֮�����ڲ��仯��ȷ�ϴ�����Apache��ʼ��Brian Behlendorf�Լ��Ļ���˵���������汾���������ٸ��µ����ԣ�����������ƷӦ�þ���3.1��8i�����IJ�Ʒ���ţ�������2.0����Apache 2.0�м����˺ܶ��ĺ��ĸĽ����¹��ܣ���Unix�̡߳���Э��֧�֡��µĹ���ϵͳ���Է�Unixƽ̨�ĸ���֧�֡�IPv6֧�֡��µ�Apache API���������������Դ�����Ӧ��ԭ����Windows NT Unicode֧�֡����������ã��Լ���������������ʽ���ȡ�����Ȼ������������ģ������Ҫ�Ľ���ͬʱҲ������һЩ�µ�ģ�顣
����Ϊ��ʹApache����ƽ���ش�1.3��������2.0�棬Apache�����Ŷ����˺ܶ����Ŀǰ�ܶ���Ҫ��ģ���Ѿ����Ժܺõ�֧��2.0�棬��PHP��FastCGI��Mod_perl��Mod_python�ȡ���httpd.conf��ָ��������ϣ�Ŀǰ��2.0�棨2.0.45����1.3���ļ������������൱�á����磬��ǰ��2.0������Ҫʹ��PHP��һ���ù�����ʵ�֣����ڵ�PHP�ٷ��ĵ����Ѿ�ʹ��1.3���е�LoadModule������Ϊ����PHP���Ƽ���ʽ��ֻҪ���˽�һ��Apache 2.0�������ԣ���1.3��������2.0�潫��һ���dz��������顣ʹ��Apache 2.0�Ǵ�����������ΪApache�Ŀ����Ŷ��Ѿ��ѿ�������ת�Ƶ�2.0���ϡ�1.3����2002��10�·�����1.3.27��һֱû���°汾�Ƴ�����2.0������1.3.27ͬʱ����2.0.43�����ڽ���1�·�����2.0.44�����ڽ���3��ĩ������2.0.45���������˺ܶ��Ľ���������
����MPM�������������ܸ���
����Apache 2.0�������ϵĸ����������ˡ���֧��POSIX�̵߳�Unixϵͳ�ϣ�Apache����ͨ����ͬ��MPM������һ�ֶ����������߳������ϵ�ģʽ�£���ǿ�������õĿ��������ܡ�������Apache 1.3��2.0�汾���˴������Ż����������������Ϳ������ԣ����Ҵ������Ľ���Ĭ��״̬�¼�����Ч�������ڱ���������ʱ�̣�2.0Ҳ���������������������ܵ�ѡ���IJ���������Щ�Թ��ܻ�ȡ�ٶȵ�ָ���HostnameLookups�ȣ���ֻ��˵����2.0��Ӱ�����ܵ����������ԣ�MPM��Multi-Processing Modules����������ģ�飩�Ļ�������ԭ��������ָ�
�����������ŵ�˵��MPM��������Apache 2.0����Ҫ�ı仯������֪����Apache�ǻ���ģ�黯�����ƣ���Apache 2.0����չ��ģ�黯���Ƶ�Web�����������������ܡ�������װ����һ�ֶ�������ģ�飬�������������˿ڡ��������������ӽ�����������������չģ�黯������������Ҫ�ô���
������ Apache���Ը����ࡢ��Ч��֧�ֶ��ֲ���ϵͳ��
������ ����������վ����������Ҫ�����Զ��ơ�
�������û�����MPM������������Apacheģ���dz����ơ���Ҫ������������ʱ��ֻ����һ��MPM��װ�ص��������С�
����ָ��MPM�ķ���
����������Red Hat Linux 9Ϊƽ̨��˵����Apache 2.0������ָ��MPM (Apache����2.0.45)���Ƚ�ѹ��Դ������httpd-2.0.45.tar.gz������httpd-2.0.45Ŀ¼��Apache 1.3Դ������������������apache_1.3.NN.tar.gz����2.0������httpd-2.0.NN.tar.gz������NN�Ǵΰ汾�ţ���
��������httpd-2.0.45Ŀ¼���������´��룺
$ ./configure --help|grep mpm
������ʾ���£�
--with-mpm=MPM
Choose the process model for Apache to use.
MPM={beos|worker|prefork|mpmt_os2| perchild|leader|threadpool}
����������������ѡ��Ҫʹ�õĽ���ģ�ͣ�������MPMģ�顣Beos��mpmt_os2�ֱ���BeOS��OS/2��ȱʡ��MPM��perchild��Ҫ����Ŀ�����Բ�ͬ���û����������������в�ͬ���ӽ��̡��������ж�����ҪCGI����������ʱ�ر����ã�����1.3���е�SuExec�������ø��á�leader��threadpool���ǻ���worker�ı��壬������ʵ���ԽΣ�ijЩ�����²����ᰴ��Ԥ����������������������Apache�ٷ�Ҳ�����Ƽ�ʹ�á����ˣ�������Ҫ����prefork��worker�����ֺ����ܹ�ϵ�����IJ�Ʒ��MPM ( �й�������MPM��ϸ˵�������μ�Apache�ٷ��ĵ���http://httpd.apache.org/docs-2.0... )��
����prefork�Ĺ���ԭ��������
�����������á�--with-mpm����ʽָ��ij��MPM��prefork����Unixƽ̨��ȱʡ��MPM���������õ�Ԥ�����ӽ��̷�ʽҲ��Apache 1.3�в��õ�ģʽ��prefork������û��ʹ�õ��̣߳�2.0��ʹ������Ϊ����1.3�汣�ּ����ԣ���һ���棬prefork�õ������ӽ�����������ͬ��������֮���DZ˴˶����ģ���Ҳʹ����Ϊ���ȶ���MPM֮һ��
������ʹ��prefork����make������make install��װ����ʹ�á�httpd -l����ȷ����ǰʹ�õ�MPM��Ӧ�ûῴ��prefork.c����������worker.c˵��ʹ�õ���worker MPM���������ƣ����ٲ鿴ȱʡ���ɵ�httpd.conf�����ļ������������������öΣ�
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
����prefork�Ĺ���ԭ���ǣ����ƽ���������������StartServers�����ӽ��̺���Ϊ������MinSpareServers���õ���Ҫ����һ�����̣��ȴ�һ���ӣ����������������ٵȴ�һ���ӣ����������ĸ��������˰�ָ�������Ӵ����Ľ������������ﵽÿ��32����ֱ������MinSpareServers���õ�ֵΪֹ��������Ԥ������prefork��������������ģʽ���Բ�������������ʱ�ٲ����µĽ��̣��Ӷ���С��ϵͳ�������������ܡ�
����MaxSpareServers�����������Ŀ��н��������������н�������������ֵ��Apache���Զ�kill��һЩ�������̡�����ֵ��Ҫ���ù�����������ֵ��MinSpareServersС��Apache���Զ���������ΪMinSpareServers+1������վ�㸺�ؽϴɿ���ͬʱ�Ӵ�MinSpareServers��MaxSpareServers��
����MaxRequestsPerChild���õ���ÿ���ӽ��̿ɴ�������������ÿ���ӽ����ڴ����ˡ�MaxRequestsPerChild�������������Զ����١�0��ζ�����ޣ����ӽ����������١���Ȼȱʡ��Ϊ0����ʹÿ���ӽ��̴��������������������ɷ���ֵҲ��������Ҫ�ĺô���
������ �ɷ�ֹ�������ڴ�й©��
������ �ڷ����������½���ʱ�����Զ������ӽ�������
�������ˣ��ɸ��ݷ������ĸ�������������ֵ��������Ϊ10000���ұȽϺ��ʡ�
����MaxClients����Щָ������Ϊ��Ҫ��һ�����趨����Apache����ͬʱ�������������Ƕ�Apache����Ӱ�������IJ�������ȱʡֵ150��ԶԶ�����ģ��������������Ѵﵽ����ֵ����ͨ��ps -ef|grep http|wc -l��ȷ�ϣ�����ô������������Ҫ�Ŷӣ�ֱ��ij���Ѵ����������ϡ�������ϵͳ��Դ��ʣ�ºܶ���HTTP����ȴ��������Ҫԭ����ϵͳ����Ա���Ը���Ӳ�����ú�����������̬��������ֵ����Ȼ����������ֵԽ���Դ�����������Խ�࣬��ApacheĬ�ϵ����Ʋ��ܴ���256������������ֵ��Ϊ����256����ôApache��������ʵ�ϣ�256���ڸ������ص�վ��Ҳ�Dz����ġ���Apache 1.3�У����Ǹ�Ӳ���ơ�����Ҫ�Ӵ�����ֵ�������ڡ�configure��ǰ�ֹ��ĵ�Դ�������µ�src/include/httpd.h�в���256���ͻᷢ�֡�#define HARD_SERVER_LIMIT 256�����С���256��ΪҪ������ֵ����4000����Ȼ�����±���Apache���ɡ���Apache 2.0���¼�����ServerLimitָ�ʹ�������ر���Apache�Ϳ��ԼӴ�MaxClients�������DZ��ߵ�prefork���öΣ�
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1000
MaxRequestsPerChild 10000
�������������У�ServerLimit������ֵ��20000�����ڴ�����վ���Ѿ��㹻������һ��Ҫ�ټӴ�������ֵ����λ��Դ��������server/mpm/prefork/prefork.c��������������Ӧ�ļ��ɣ�
#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000
����worker�Ĺ���ԭ��������
����������prefork��worker��2.0 ����ȫ�µ�֧�ֶ��̺߳Ͷ����̻���ģ�͵�MPM������ʹ���߳������������Կ��Դ������Ժ���������ϵͳ��Դ�Ŀ���ҪС�ڻ��ڽ��̵ķ����������ǣ�workerҲʹ���˶����̣�ÿ�����������ɶ����̣߳��Ի��û��ڽ��̷��������ȶ��ԡ�����MPM�Ĺ�����ʽ����Apache 2.0�ķ�չ���ơ�
������configure -with-mpm=worker����make���롢make install��װ����ȱʡ���ɵ�httpd.conf�����������öΣ�
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
����worker�Ĺ���ԭ���ǣ��������ƽ������ɡ�StartServers�����ӽ��̣�ÿ���ӽ����а����̶���ThreadsPerChild�߳����������̶߳����ش���������ͬ����Ϊ�˲�����������ʱ�������̣߳�MinSpareThreads��MaxSpareThreads���������ٺ������Ŀ����߳�������MaxClients�����������ӽ����е��߳����������������ӽ����е��߳������������㸺�أ����ƽ��̽������µ��ӽ��̡�
����MinSpareThreads��MaxSpareThreads������ȱʡֵ�ֱ���75��250��������������Apache������Ӱ�첢��������ʵ��������Ӧ���ڡ�
����ThreadsPerChild��worker MPM�����������������е�ָ�ThreadsPerChild������ȱʡֵ��64���������ؽϴ���64Ҳ�Dz����ġ���ʱҪ��ʽʹ��ThreadLimitָ���������ȱʡֵ��20000����������ֵλ��Դ����server/mpm/worker/worker.c�е��������У�
#define DEFAULT_THREAD_LIMIT 64
#define MAX_THREAD_LIMIT 20000
���������ж�Ӧ��ThreadsPerChild��ThreadLimit����������������configure֮ǰ�Ͱ�64�ij���ϣ����ֵ��ע�⣬��Ҫ��������ֵ����̫�ߣ�����ϵͳ�Ĵ����������Ӷ���Apache������ʹϵͳ�ܲ��ȶ���
����Workerģʽ������ͬʱ�������������������ӽ�����������ThreadsPerChildֵ�����ģ�Ӧ�ô��ڵ���MaxClients���������غܴ������е��ӽ�������������ʱ�����ƽ��̻������µ��ӽ��̡�Ĭ���������ӽ���������16���Ӵ�ʱҲ��Ҫ��ʽ����ServerLimit������ֵ��20000����������ֵλ��Դ����server/mpm/worker/worker.c�е��������У�
#define DEFAULT_SERVER_LIMIT 16
#define MAX_SERVER_LIMIT 20000
������Ҫע�����ǣ�������ʽ������ServerLimit����ô������ThreadsPerChild��ֵ�������ڵ���MaxClients������MaxClients������ThreadsPerChild��������������Apache�����Զ����ڵ�һ����Ӧֵ�������Ǹ�������ֵ���������DZ��ߵ�worker���öΣ�
StartServers 3
MaxClients 2000
ServerLimit 25
MinSpareThreads 50
MaxSpareThreads 200
ThreadLimit 200
ThreadsPerChild 100
MaxRequestsPerChild 0
����ͨ�������������������˽Apache 2.0��prefork��worker��������ҪMPM�Ĺ���ԭ�������ɸ���ʵ������������Apache���صĺ��IJ������Ի������������ܺ��ȶ��ԡ�
��������ϸ��д�Ե�http://httpd.apache.org/docs-2.0...
���߲��꣬��Դ��http://www.chinaunix.net/jh/13/4...
- ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
- �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
- ������������������̸�����ɶ��ر�
- ��������������ѡʳƷ����2020�ļ��ȵ�Ͷ�ʲ��Ժ���������
- �����ڵ�����֤50���ƴ�50����ָ֤�������Ĺ���
- ����֤50����Щ��Ʊ_��֤50Ȩ����������
- ������300����֤50����֤500��ָ��2019���ڶ��ζ��ڵ���������
- ������300��ֵ/�ɳ�ָ�����Ʒ����������й�ƽ��Ȩ���½�
- ����ָ֤��������֤50��ָ��������
- ����ָ֤��������֤����ָ��������
- ����ָ֤��������֤100ָ��������
- ����ָ֤����������300ָ��������