BSD上Apache性能的調整(3)_Windows教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
CHILD_MAX和OPEN_MAX設置成允許512個子進程(與每用戶最大進程數不同)和文件描述符。這個值可以根據你的特殊配置進行修改(如果你的模塊或CGI要打開許多文件時,就設置一個較大的OPEN_MAX)。如果在同一機器上除httpd外還有其他許多工作,就需要設置較大的NPROC。該例中NPROC的值來源于maxusers。
增大listen() queue的大小,需要調整SOMAXCONN的值。SOMAXCONN不是來自于maxusers的。所以需要自己增大這個值。目前,這個值在sys/socket.h中設置。調整這個參數最好的方式時run-time(運行時更改),這要比在頭文件中修改要好。要在運行時更改,編輯/etc/rc.local,增加:
/usr/sbin/sysctl -w kern.somaxconn=256
這里使用256,可以進行更改以適合你的需要。許多情況下,設置成128就可以了。
如果配置的kernel使用的資源超過了你可使用的系統RAM的數量,系統可能不能啟動。保證任何時候有一個可以啟動系統的kernel。使用一些系統工具了解一下你是否需要增加一些內存。
當OPEN_MAX大于256時,RPC服務會失敗。這是由于原始的RPC庫的一個函數使用1 byte保存文件描述符導致的。BSDI release 2.1解決了部分問題,但最終的解決需要等待重新設計RPC。
最后還有一個在Apache中對子進程配置的硬限制。對Apache 1.0.5以后的版本,需要改變httpd.h中HARD_SERVER_LIMIT的定義并重新編譯才能運行超過150個httpd進程。 在conf/httpd.conf-dist中:
# Limit on total number of servers running, i.e., limit on the number
# of clients who can simultaneously connect --- if this limit is ever
# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
# It is intended mainly as a brake to keep a runaway server from taking
# Unix with it as it spirals down...
MaxClients 150
在增大這個值之前,要檢查一下你的系統,RAM 擴展,并調整kernel。
M. Teterin"寫到:
對kernel和經常使用的應用程序進行優化非常有用。在AMD-133(486類CPU)上重新編譯FreeBSD kernel時加上-m486 -fexpensive-optimizations -fomit-frame-pointer -O2 可以減少 "unable" errors。
增大listen() queue的大小,需要調整SOMAXCONN的值。SOMAXCONN不是來自于maxusers的。所以需要自己增大這個值。目前,這個值在sys/socket.h中設置。調整這個參數最好的方式時run-time(運行時更改),這要比在頭文件中修改要好。要在運行時更改,編輯/etc/rc.local,增加:
/usr/sbin/sysctl -w kern.somaxconn=256
這里使用256,可以進行更改以適合你的需要。許多情況下,設置成128就可以了。
如果配置的kernel使用的資源超過了你可使用的系統RAM的數量,系統可能不能啟動。保證任何時候有一個可以啟動系統的kernel。使用一些系統工具了解一下你是否需要增加一些內存。
當OPEN_MAX大于256時,RPC服務會失敗。這是由于原始的RPC庫的一個函數使用1 byte保存文件描述符導致的。BSDI release 2.1解決了部分問題,但最終的解決需要等待重新設計RPC。
最后還有一個在Apache中對子進程配置的硬限制。對Apache 1.0.5以后的版本,需要改變httpd.h中HARD_SERVER_LIMIT的定義并重新編譯才能運行超過150個httpd進程。 在conf/httpd.conf-dist中:
# Limit on total number of servers running, i.e., limit on the number
# of clients who can simultaneously connect --- if this limit is ever
# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
# It is intended mainly as a brake to keep a runaway server from taking
# Unix with it as it spirals down...
MaxClients 150
在增大這個值之前,要檢查一下你的系統,RAM 擴展,并調整kernel。
M. Teterin"
對kernel和經常使用的應用程序進行優化非常有用。在AMD-133(486類CPU)上重新編譯FreeBSD kernel時加上-m486 -fexpensive-optimizations -fomit-frame-pointer -O2 可以減少 "unable" errors。
相關Windows教程:
- 相關鏈接:
- 教程說明:
Windows教程-BSD上Apache性能的調整(3)。