前几天学习apache优化,在“9.开启httpd-mpm.conf增加连接数”部分,按照oldboy视频里的参数配置之后,没想到在apache语法检查时,竟然是报错的。

[root@Web extra]# /application/apache/bin/apachectl -t
WARNING: ThreadsPerChild of 100 exceeds ThreadLimit value of 64
threads, lowering ThreadsPerChild to 64. To increase, please see the
ThreadLimit directive.
WARNING: MaxClients (2000) is not an integer multiple
of ThreadsPerChild (64), lowering MaxClients to 1984
for a maximum of 31 child processes,
WARNING: MaxClients of 1984 would require 31 servers,
and would exceed the ServerLimit value of 25.
Automatically lowering MaxClients to 1600.  To increase,
please see the ServerLimit directive.
Syntax OK

  这在当时,实在让我感觉到不可思议。搜索大量百度内容,并逐字翻译这3条警告之后,我才基本明白。原来,配置的参数并不符合要求,很多甚至超过阈值。
  由于他录制的视频也是在虚拟机上,说成是我和他的机器配置不同实在没有道理。唯一的解释,只能是他的这些参数也是网络上找的。而且,他始终没有对这些参数进行测试。

<IfModule mpm_worker_module>
StartServers         5
MaxClients           2000
ServerLimit          25
MinSpareThreads      50
MaxSpareThreads      200
ThreadLimit          200
ThreadsPerChild      100
MaxRequestsPerChild  0

  另外,他上面配置的这些参数里,好像有1个根本就不符合连接数的公式要求。
  worker模式都能配置成这样,我估计,他的prefork模式配置的参数,也不会好到那里去。

<IfModule mpm_prefork_module>
StartServers         10
MinSpareServers      10
MaxSpareServers      15
ServerLimit          2000
MaxClients           2000
MaxRequestsPerChild  10000
</IfModule>

  折腾后的结果,就是这部分内容我并没有搞懂:虽然大部分参数oldboy的视频里都有解释,但整体,还有具体几个参数的关系,我就基本晕了。
  希望以后到了生产环境,面对真正实实在在的环境,自己可以把“apache连接数”的问题,能够迎刃而解。

 

  最近几个月oldboy视频的学习,终于理解为什么去年有些人会在51cto上指责oldboy了。他的很多视频内容,确实都是从网上其它人的文档上复制过去的。但是,我感觉他复制的多数内容,都是细枝末节的小知识点。按照我的理解,可能他是想把课程做的更加完整,于是添加了很多没有多少意义的内容。于是,给一些心浮气燥的人留下口实。
  不管怎么说,自己也学了那么久,虽然进展始终缓慢,但确实帮助我开拓了眼界。很多讲解的内容,凭我自己,即使自学恐怕也是找不到的。单凭这一点,花这几千元钱也值得。

 

  写这篇日记,只有一个目的:明确告诉自己,“apache的增加连接数”部分我没有搞明白。希望以后在实际工作中,能够弄清楚。