gpt4 book ai didi

multithreading - Apache ThreadsPerChild 增加不适用

转载 作者:行者123 更新时间:2023-12-04 06:38:12 24 4
gpt4 key购买 nike

我安装了 WAMP 并在我的 Windows 7 机器上使用 Apache 2.2.17。有很多盒子连接到它来请求工作等等。

apache 服务器在我身上崩溃了两次,因为它说

[warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting

我弄乱了 httpd-mpm,这是我在该文件中的当前配置

#
# 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 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 250
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 250
MaxRequestsPerThread 250
</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 50
MaxSpareThreads 500
MaxThreads 3000
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 250
MaxRequestsPerChild 0
</IfModule>

问题是,即使我增加了 threadsperchild 的数量,它仍然会在错误日志中显示这一点

[Tue Apr 12 00:26:10 2011] [notice] Apache/2.2.17 (Win32) PHP/5.3.5 configured -- resuming normal operations
[Tue Apr 12 00:26:10 2011] [notice] Server built: Oct 18 2010 01:58:12
[Tue Apr 12 00:26:10 2011] [notice] Parent: Created child process 3580
[Tue Apr 12 00:26:10 2011] [notice] Child 3580: Child process is running
[Tue Apr 12 00:26:10 2011] [notice] Child 3580: Acquired the start mutex.
[Tue Apr 12 00:26:10 2011] [notice] Child 3580: Starting 64 worker threads.
[Tue Apr 12 00:26:10 2011] [notice] Child 3580: Starting thread to listen on port 80.

为什么我的 threadsperchild 设置不适用和工作?它似乎默认回到 64...

最佳答案

如果你仍然有这个问题,你需要在 httpd.conf 中取消注释这一行:

Include conf/extra/httpd-mpm.conf

关于multithreading - Apache ThreadsPerChild 增加不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6620037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com