当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Apache的fork模式和worker模式判断方法

    栏目:Linux/apache问题 时间:2018-09-13 13:42

    这篇文章主要介绍了Apache的fork模式和worker模式判断方法,文中给出的方法基于http,需要的朋友可以参考下

    本文章来给各位同学介绍判断apache的工作模式是prefork模式还是worker模式,测试方法我们只要使用http来操作。

    apache常用的工作模式有prefork和worker模式。运行命令httpd -l 或者apache2 -l ,输出的结果中如果含有prefork.c,那就是prefork模式,如果结果中含有worker.c,那就是worker模式。

    知道模式之后我们可以在apache的confextrahttpd-mpm.conf 进行编辑了

    ## Server-Pool Management (MPM specific)### PidFile: The file in which the server should record its process# identification number when it starts.## Note that this is the default PidFile for most MPMs.#<IfModule !mpm_netware_module>  PidFile "logs/httpd.pid"</IfModule>## The accept serialization lock file MUST BE STORED ON A LOCAL DISK.#<IfModule !mpm_winnt_module><IfModule !mpm_netware_module>LockFile "logs/accept.lock"</IfModule></IfModule>## Only one of the below sections will be relevant on your# installed httpd. Use "apachectl -l" to find out the# active mpm.## prefork MPM# StartServers: number of server processes to start# MinSpareServers: minimum number of server processes which are kept spare# MaxSpareServers: maximum number of server processes which are kept spare# MaxClients: maximum number of server processes allowed to start# MaxRequestsPerChild: maximum number of requests a server process serves<IfModule mpm_prefork_module>  StartServers     5  MinSpareServers    5  MaxSpareServers   10  MaxClients     150  MaxRequestsPerChild  0</IfModule># worker MPM# StartServers: initial number of server processes to start# MaxClients: maximum number of simultaneous client connections# MinSpareThreads: minimum number of worker threads which are kept spare# MaxSpareThreads: maximum number of worker threads which are kept spare# ThreadsPerChild: constant number of worker threads in each server process# MaxRequestsPerChild: maximum number of requests a server process serves<IfModule mpm_worker_module>  StartServers     2  MaxClients     150  MinSpareThreads   25  MaxSpareThreads   75  ThreadsPerChild   25  MaxRequestsPerChild  0</IfModule># BeOS MPM# StartThreads: how many threads do we initially spawn?# MaxClients:  max number of threads we can have (1 thread == 1 client)# MaxRequestsPerThread: maximum number of requests each thread will process<IfModule mpm_beos_module>  StartThreads      10  MaxClients       50  MaxRequestsPerThread 10000</IfModule># NetWare MPM# ThreadStackSize: Stack size allocated for each worker thread# StartThreads: Number of worker threads launched at server startup# MinSpareThreads: Minimum number of idle threads, to handle request spikes# MaxSpareThreads: Maximum number of idle threads# MaxThreads: Maximum number of worker threads alive at the same time# MaxRequestsPerChild: Maximum number of requests a thread serves. It is#           recommended that the default value of 0 be set for this#           directive on NetWare. This will allow the thread to#           continue to service requests indefinitely.             <IfModule mpm_netware_module>  ThreadStackSize   65536  StartThreads      250  MinSpareThreads     25  MaxSpareThreads    250  MaxThreads      1000  MaxRequestsPerChild   0  MaxMemFree       100</IfModule># OS/2 MPM# StartServers: Number of server processes to maintain# MinSpareThreads: Minimum number of idle threads per process,#         to handle request spikes# MaxSpareThreads: Maximum number of idle threads per process# MaxRequestsPerChild: Maximum number of connections per server process<IfModule mpm_mpmt_os2_module>  StartServers      2  MinSpareThreads    5  MaxSpareThreads    10  MaxRequestsPerChild  0</IfModule># WinNT MPM# ThreadsPerChild: constant number of worker threads in the server process# MaxRequestsPerChild: maximum number of requests a server process serves<IfModule mpm_winnt_module>  ThreadsPerChild   150  MaxRequestsPerChild  0</IfModule>