當我需要進行效能優化時,說明我們伺服器無法滿足日益增長的業務。效能優化是乙個比較大的課題,需要從以下幾個方面進行**
1、當前系統結構瓶頸
首先需要了解的是當前系統瓶頸,用的是什麼,跑的是什麼業務。裡面的服務是什麼樣子,每個服務最大支援多少併發。比如針對nginx而言,我們處理靜態資源效率最高的瓶頸是多大?
可以通過檢視當前cpu負荷,記憶體使用率,程序使用率來做簡單判斷。還可以通過作業系統的一些工具來判斷當前系統效能瓶頸,如分析對應的日誌,檢視請求數量。也可以通過nginx http_stub_status_module模組來檢視對應的連線數,總握手次數,總請求數。也可以對線上進行壓力測試,來了解當前的系統能效能,併發數,做好效能評估。
2、了解業務模式
雖然我們是在做效能優化,但還是要熟悉業務,最終目的都是為業務服務的。我們要了解每乙個介面業務型別是什麼樣的業務,比如電子商務搶購模式,這種情況平時流量會很小,但是到了搶購時間,流量一下子就會猛漲。也要了解系統層級結構,每一層在中間層做的是**還是動靜分離,還是後台進行直接服務。需要我們對業務接入層和系統層次要有乙個梳理
3、效能與安全
效能與安全也是乙個需要考慮的因素,往往大家注重效能忽略安全或注重安全又忽略效能。比如說我們在設計防火牆時,如果規則過於全面肯定會對效能方面有影響。如果對效能過於注重在安全方面肯定會留下很大隱患。所以大家要評估好兩者的關係,把握好兩者的孰重孰輕,以及整體的相關性。權衡好對應的點。
4、系統與nginx效能優化
大家對相關的系統瓶頸及現狀有了一定的了解之後,就可以根據影響效能方面做乙個全體的評估和優化。
上面列舉出來每一級都會有關聯,也會影響整體效能,這裡主要關注的是nginx服務這一層。
Nginx效能優化
在http裡面新增一行 server tokens off 預設可以設定為cpu的核數相等,併發比較大的時候,可以設定為cpu核數 2 worker cpu affinity 0001 0010 0100 1000 四核worker cpu affinity 00000001 00000010 00...
nginx效能優化
1 執行緒池 預設情況下,nginx的work process按照順序乙個個處理http請求,因此如果後台處理時間較長,則work process會長時間等待io狀態,因此限制併發性。如下所示 所以,對於可能存在的這類http請求,一般會啟用執行緒池。預設情況下,執行緒池特性並不啟用,需要在編譯時增...
Nginx效能優化
簡介 在大多數情況下,乙個常規安裝的nginx對 來說已經能很好地工作了。然而如果想擠壓出nginx的效能,就需要了解哪些指令會影響nginx效能,在本文中將解釋nginx的哪些設定可以微調。需要注意一點,這是乙個簡單的預覽 那些可以通過微調來提高效能設定的概述,不同的環境可能情況不太一樣。對於ng...