Ngnix使用hash表來協助完成請求的快速處理。
考慮到保存鍵及其值的hash表儲存單元的大小不至於超出設定參數(hash bucket size), 在啟動和每次重新配置時,Nginx為hash表格選擇盡可能小的尺寸。 ( 建議學習:nginx使用 )
#直到hash表超過參數(hash max size)的大小才重新進行選擇指令. 對於這些資料表超過參數(hash max size)的大小才重新進行選擇指令。參數。例如,保存伺服器名字的hash表是由指令
server_names_hash_max_size
和
server_names_hash_bucket_size
所控制的。參數hash bucket size總是等於hash表的大小,並且是一路處理器快取大小的倍數。在減少了在記憶體中的訪問次數後,使在處理器中加速查找hash表鍵值成為可能。
如果hash bucket size等於一路處理器快取的大小,那麼在查找鍵的時候,最壞的情況下在記憶體中查找的次數為2。第一次是確定儲存單元的位址,第二次是在儲存單元中尋找鍵值。
因此,如果Nginx給出需要增大hash max size 或hash bucket size的提示,那麼首要的是增大前一個參數的大小.
##事件模型
Nginx支援以下處理連線的方法(I/O重複使用方法),這些方法可以透過
use
--with-select_module
--without-select_module
--with-poll_module
--without-poll_module
/proc/sys/kernel/rtsig-max
poll
#方法來處理連線直到恢復正常。 /dev/poll - 高效率的方法,使用於Solaris 7 11/99 , HP/UX 11.22 (eventport), IRIX 6.5.15 和Tru64 UNIX 5.1A .eventport - 高效的方法,使用於Solaris 10. 為了防止核心崩潰的問題, 有必要安裝這個安全補丁。以上是nginx如何最佳化的詳細內容。更多資訊請關注PHP中文網其他相關文章!