Apache HTTP Server 2.4 版
Date: Wed, 05 Nov 1997 16:59:34 -0800 From: Rick Jones <raj@cup.hp.com> Reply-To: raj@cup.hp.com Organization: Network Performance Subject: HP-UX tuning tips
以下是 HP-UX 的一些最佳化提示,可加到最佳化網頁。
HP-UX 9.X:升級到 10.20
HP-UX 10.[00|01|10]:升級到 10.20
HP-UX 10.20
安裝最新的累積式 ARPA 運輸修正程式。這將允許您設定 TCP 連線查詢雜湊表的大小。預設值為 256 個儲存區,並且必須設定為 2 的冪次。這是透過針對 kernel 的 *disc* 映像執行 adb 來完成。變數名稱為 tcp_hash_size
。請注意,當修補磁碟映像時,使用「W
」來寫入 32 位元組大小的數值非常重要,而不是使用「w
」來寫入 16 位元組值,因為 tcp_hash_size
變數是 32 位元組大小的數值。
如何選擇值?檢查 ftp://ftp.cup.hp.com/dist/networking/tools/connhist 的輸出,並觀察系統上總共有多少 TCP 連線。您可能會想讓該數字除以雜湊表大小後得到合理的數字,例如小於 10。可以查看 HP 的 SPECweb96 公開資訊,以了解一些常見的設定。這些資訊可在 http://www.specbench.org/ 中找到。如果 HP-UX 系統以每秒 1000 個 SPECweb96 連線執行,那麼 60 秒的 TIME_WAIT
時間表示會追蹤 60,000 個 TCP「連線」。
可以透過 ftp://ftp.cup.hp.com/dist/networking/misc/listenq 來查看監聽佇列深度。
如果在基於 PA-8000 的系統上執行 Apache,應考慮「chatr」Apache 可執行檔,以取得較大的頁面大小。這將是「chatr +pi L <BINARY>
」。執行中的可執行檔的 GID 必須具有 MLOCK
權限。應該參考 Setprivgrp(1m)
來指定 MLOCK
。可以透過執行 Glance 並檢查伺服器的記憶體區段來驗證變更,以確保它們顯示文字區段被鎖定的非瑣碎部分。
如果在 MP 系統上執行 Apache,可以考慮撰寫一個小型程式,使用 mpctl()
將程序繫結到處理器。pid % numcpu
的簡單演算法可能足夠了。這甚至可能進入原始碼。
如果用戶擔心 FIN_WAIT_2
連線的數量,可以使用 nettune 縮小 tcp_keepstart
的值。不過,他們應謹慎行事 - 絕不要將其設為低於 2 到 4 分鐘。如果 tcp_hash_size
已設定妥當,讓 FIN_WAIT_2
超時可能比較妥當(甚至預設的 2 小時),他們對效能的影響不會很大。
可以加入程式碼庫中的其他事項,但這可能會留待另一封電子郵件處理。如果您或其他人有興趣,歡迎傳訊息給我。
敬祝,
Rick Jones