本文章来给各位同学介绍判断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>
我们如果是windows系统一般是使用最后面的winnt mpm来操作了。 |