前几天学习apache优化,在“9.开启httpd-mpm.conf增加连接数”部分,按照oldboy视频里的参数配置之后,没想到在apache语法检查时,竟然是报错的。
[root@Web extra]# /application/apache/bin/apachectl -tWARNING: ThreadsPerChild of 100 exceeds ThreadLimit value of 64threads, lowering ThreadsPerChild to 64. To increase, please see theThreadLimit directive.WARNING: MaxClients (2000) is not an integer multipleof ThreadsPerChild (64), lowering MaxClients to 1984for 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条警告之后,我才基本明白。原来,配置的参数并不符合要求,很多甚至超过阈值。
由于他录制的视频也是在虚拟机上,说成是我和他的机器配置不同实在没有道理。唯一的解释,只能是他的这些参数也是网络上找的。而且,他始终没有对这些参数进行测试。
StartServers 5MaxClients 2000ServerLimit 25MinSpareThreads 50MaxSpareThreads 200ThreadLimit 200ThreadsPerChild 100MaxRequestsPerChild 0
另外,他上面配置的这些参数里,好像有1个根本就不符合连接数的公式要求。
worker模式都能配置成这样,我估计,他的prefork模式配置的参数,也不会好到那里去。
StartServers 10MinSpareServers 10MaxSpareServers 15ServerLimit 2000MaxClients 2000MaxRequestsPerChild 10000
折腾后的结果,就是这部分内容我并没有搞懂:虽然大部分参数oldboy的视频里都有解释,但整体,还有具体几个参数的关系,我就基本晕了。
希望以后到了生产环境,面对真正实实在在的环境,自己可以把“apache连接数”的问题,能够迎刃而解。
最近几个月oldboy视频的学习,终于理解为什么去年有些人会在51cto上指责oldboy了。他的很多视频内容,确实都是从网上其它人的文档上复制过去的。但是,我感觉他复制的多数内容,都是细枝末节的小知识点。按照我的理解,可能他是想把课程做的更加完整,于是添加了很多没有多少意义的内容。于是,给一些心浮气燥的人留下口实。
不管怎么说,自己也学了那么久,虽然进展始终缓慢,但确实帮助我开拓了眼界。很多讲解的内容,凭我自己,即使自学恐怕也是找不到的。单凭这一点,花这几千元钱也值得。
写这篇日记,只有一个目的:明确告诉自己,“apache的增加连接数”部分我没有搞明白。希望以后在实际工作中,能够弄清楚。