用 Google 搜尋:

無聊人的無聊故事

十月 24 日, 2005

Server ran out of threads to serve requests.

文章類別:Server 相關, 電腦相關 — by C.H.Weng @ 11:09 上午

剛剛發完blog卻發現居然連自己都連不上網頁,看了一下Apache的error.log,發現了下面一段訊息:
Server ran out of threads to serve requests. Consider raising the ThreadsPerChild setting
真恐怖,ThreadsPerChild的預設值是50還不夠用,害我以為伺服器出了什麼問題,還好很快就排除了,目前把上限給調到了500,這樣應該就不會不夠了吧@@
順便引一下剛剛網路上找到的資料,作為以後修改的依據。
以下引自技術人部落 Technique Blog | Apache Server 設定限制Client連接數量

有時候可能Server本身硬體上有一定的限制無法承受大量使用者不斷的連接上來,當然架設網站的人總是要設想一下
當自己的網站ㄏㄤ到不行的時候,這樣的問題該怎麼辦.......

現在很多人在Windows會使用Apache來當Server因為方便好用,但是對於Windows這樣不穩定的系統
有時候就需要控制一下連接到Server的Client數了。
Apache Server幾個設定各位可以參考看看......
1. MaxClients : 此直最大是256,他的意思是說可以連接到Server上最大的數量,所以當Over這個數量的時候一定要等到
有Free出來的Process才可以提供另外一個Client在連線上來。
2. MaxRequestsPerChild : 此設定是連接的每一個Process可以要求最大Thread的數量,Win32系統建議值是0
3. ThreadsPerChild : 這是告訴Server可以處理最大的Thread數量是多少,當然你必須要依據Server的狀況來設定,如果設定太大可能Server吃不下來最後可能會造成當機。(這個設定只符合Win32使用,Unix系統必須參考其他設定值)

這裡大家一定會有疑問,到底MaxClients與ThreadsPerChild有何不同?
其實MaxClients是設定最大的連接數,IE每對網頁一個Request就是一個Connection(Process),我們就只服務到這個最大量,絕不超過,那ThreadPerChild呢?
這是在設定對於每個Process我能提供的服務(Thread),因為進入到你的網頁你總是會提供一些服務,那就是你可以提供的量。
所以MaxClients*ThreadPerChild就是你提供服務的最大量了。
你可以調整看看什麼樣的情況下你的Server可以達到一個最穩定的狀況。

沒有評論

(目前尚無評論)

發表評論

(必須輸入。)
(必須輸入,但不會公開。)
(選擇性輸入、公開資訊。)

不可以 使用 HTML 標籤;你 可以 使用 BBCode 標籤。
目前支援的標籤: b color email i img size strong u url。

Comment Preview
↑Meta↑
↑Authors↑
↓Search↓
↑Categories↑
↑Recent Posts↑
↓Most Popular Posts↓
↑Recent Comments↑
↓Recent Trackbacks↓
↓Archives↓
↓Themes↓
Powered by WordPress™
Valid RSS & Atom Feed