首頁 運維 Nginx nginx如何最佳化

nginx如何最佳化

Dec 17, 2019 pm 02:44 PM
nginx

nginx如何最佳化

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
登入後複製

指令指定。

select - 標準方法。如果目前平台沒有更有效的方法,它是編譯時預設的方法。你可以使用設定參數

--with-select_module
登入後複製

--without-select_module
登入後複製

來啟用或停用這個模組。

poll - 標準方法。如果目前平台沒有更有效的方法,它是編譯時預設的方法。你可以使用設定參數

--with-poll_module
登入後複製

--without-poll_module
登入後複製

來啟用或停用這個模組。

kqueue - 高效率的方法,使用於 FreeBSD 4.1 , OpenBSD 2.9 , NetBSD 2.0 和 MacOS X. 使用雙處理器的MacOS X系統使用kqueue可能會造成核心崩潰。

epoll - 高效率的方法,使用於Linux核心2.6版本及以後的系統。在某些發行版本中,如SuSE 8.2, 有讓2.4版本的核心支援epoll的補丁。

rtsig - 可執行的即時訊號,使用於Linux核心版本2.2.19以後的系統。預設整個系統中不能出現大於1024個POSIX即時(排隊)訊號。這種情況對於高負載的伺服器來說是低效的;所以有必要透過調節核心參數

/proc/sys/kernel/rtsig-max
登入後複製
來增加佇列的大小。但從Linux核心版本2.6.6-mm2開始, 這個參數就不再使用了,而且對於每個行程有一個獨立的訊號佇列,這個佇列的大小可以用 RLIMIT_SIGPENDING 參數調整。當這個佇列過於擁塞,nginx就放棄它並且開始使用

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

tomcat伺服器怎麼能讓外網訪問 tomcat伺服器怎麼能讓外網訪問 Apr 21, 2024 am 07:22 AM

tomcat伺服器怎麼能讓外網訪問

nginx啟動指令和停止指令是什麼 nginx啟動指令和停止指令是什麼 Apr 02, 2024 pm 08:45 PM

nginx啟動指令和停止指令是什麼

thinkphp怎麼運行 thinkphp怎麼運行 Apr 09, 2024 pm 05:39 PM

thinkphp怎麼運行

tomcat和nginx有哪些差別 tomcat和nginx有哪些差別 Dec 27, 2023 pm 05:07 PM

tomcat和nginx有哪些差別

Welcome to nginx!怎麼解決? Welcome to nginx!怎麼解決? Apr 17, 2024 am 05:12 AM

Welcome to nginx!怎麼解決?

造訪網站出現nginx怎麼解決 造訪網站出現nginx怎麼解決 Apr 02, 2024 pm 08:39 PM

造訪網站出現nginx怎麼解決

phpmyadmin怎麼註冊 phpmyadmin怎麼註冊 Apr 07, 2024 pm 02:45 PM

phpmyadmin怎麼註冊

nodejs專案怎麼部署到伺服器 nodejs專案怎麼部署到伺服器 Apr 21, 2024 am 04:40 AM

nodejs專案怎麼部署到伺服器

See all articles