如何配置apache最大的並發數


如何配置apache最大的並發數
MPM(多路處理模塊)
常見:
1.perfork 預處理進程方式
2.worker 工作者模式
3.winnt 在windows使用

案例:把apache的最大並發數配置成1000個
1.首先確認apache的mpm方式
cmd>httpd.exe -l 可以看到是什么模式了
這里就看mpm_xxx.c這個xxx就是那個了

2.修改httpd.conf文件
搜索mpm,找到 Server-pool management(MPM specific)
去掉# Include conf/extra/httpd-mpm.conf

3.修改conf/extra/httpd-mpm.conf文件
prefork模式就修改這里
<IfModule mpm_prefork_module>
StartServers 5 # 預先開啟的進程
MinSpareServers 5 # 最小預留5個
MaxSpareServers 10 # 最大留10
MaxClients 150 # 最多並發多少個 *
MaxRequestsPerChild 0 # 最多請求多少次 0不限制
</IfModule>

winnt模式
<IfModule mpm_winnt_module>
ThreadsPerChild 150 # 最大並發數 *
MaxRequestsPerChild 0 # 最多處理多少次請求 0不限制
</IfModule>

修改后面有*的那個字段的數值然后重新啟動apache

說明:配置到多大,不一定就可能支撐這么大的並發,考慮到本身apache所在的機器硬件性能(如:內存,CPU,硬盤IO)
系統是linux/unix,配置perfork
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150 *#並發量
MaxRequestsPerChild 0
</IfModule>
給大家一個合理的建議配置,對大部份網站,中型網站配置
<IfModule mpm_prefork_module>
StartServers 5 # 預先啟動
MinSpareServers 5
MaxSpareServers 10 # 最大空閑進程
ServerLimit 1500 *# 用於修改apache編程參數
MaxClients 1000 *# 最大並發數
MaxRequestsPerChild 0
</IfModule>
注:apache2.2以后才有的ServerLimit這個參數,其中ServerLimit數值大於MaxClients數值

如果網站的pv值 百萬
ServerLimit 2500 *# 用於修改apache編程參數
MaxClients 2000 *# 最大並發數
注:調到這就是極限了,要是網站訪問還是大,哪就要增加apache服務器了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM