【问题标题】:What's the hard limit for apache ThreadsPerChild parameter in httpd.conf?httpd.conf 中 apache ThreadsPerChild 参数的硬限制是什么?
【发布时间】:2012-07-05 10:47:45
【问题描述】:

我正在使用基于 Apache 的 ibm http 服务器。当我尝试将参数 ThreadsPerChild 增加到 1000 以上时,http 服务器总是只启动 1000 个工作线程。以下是相关资料​​:

错误日志:

[2012 年 7 月 5 日星期四 10:50:45] [调试] mpm_winnt.c(564):子 9040:从父级检索到 2 个侦听器
[Thu Jul 05 10:50:45 2012] [通知] Child 9040: 获得启动互斥锁。
[Thu Jul 05 10:50:45 2012] [notice] Child 9040:启动 1000 个工作线程
[Thu Jul 05 10:50:45 2012] [notice] Child 9040:启动线程监听端口 81。
[Thu Jul 05 10:50:45 2012] [notice] Child 9040:正在启动线程以侦听端口 80。

httpd.conf

<IfModule mpm_winnt.c>
  ThreadLimit 2048<br>
  ThreadsPerChild 2000
  MaxRequestsPerChild  0
</IfModule>

IHS 7.0.0.0 操作系统winNT

顺便说一句,ThreadsPerChild 的另一个问题是一个 Apache 线程在这里处理一个客户端连接,还是一个线程可以处理多个客户端连接?

请帮帮我。

非常感谢

【问题讨论】:

    标签: apache websphere websphere-7 websphere-6.1 ibmhttpserver


    【解决方案1】:

    关于 ThreadsPerChild 设置的限制,引用自 IBM HTTP Server Performance Tuning ;

    在 64 位 Windows 操作系统上,每个实例仅限于大约 每个孩子 2500 个线程。在 32 位 Windows 上,这个数字更接近 5000。这些数字不是确切的限制,因为真正的限制是每个线程的固定启动内存成本的总和 + 每个线程的最大运行时内存使用量,取决于 配置和工作量。提高 ThreadsPerChild 并接近 这些限制有运行时内存使用时子进程崩溃的风险 将进程地址空间置于 2GB 或 3GB 障碍之上。

    这里需要注意的是 ThreadsPerChild 并不是调整 IHS 并发连接的唯一参数。您可以在以下链接中找到有关其他参数(如 maxClients)和调整方法的信息;

    Tuning IBM HTTP Server to maximize the number of client connections to WebSphere Application Server

    【讨论】:

    • 感谢您的回答@kurtcebe
    猜你喜欢
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-04-02
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 2019-04-12
    • 2016-12-21
    相关资源
    最近更新 更多