nginx nginx的效能優化

2021-08-04 14:50:23 字數 1083 閱讀 5351

配置虛擬主機

例子1: 基於網域名稱的虛擬主機

server

}例子2: 基於埠+ ip 的虛擬主機配置

server

}/ 全域性區

worker_processes 1; // 有1個工作的子程序,可以自行修改,但太大無益,因為要爭奪cpu,一般設定為 cpu數*核數

event

1:判斷nginx的瓶頸

1.1: 首先把ab測試端的效能提高,使之能高併發的請求.

易出問題: too many open files

原因 :  ab在壓力測試時,開啟的socket過多

解決: ulimit -n 30000 (重啟失效)

觀察結果: nginx 不需要特殊優化的情況下, 5000個連線,1秒內響應. 

滿足要求,但wating狀態的連線過多.

1.2: 解決waiting程序過多的問題.

解決辦法: keepalive_timeout = 0;  

即: 請求結果後,不保留tcp連線. 

在高併發的情況下, keepalive會佔據大量的socket連線.

結果: waiting狀態的連線明顯減少.

1.3: 解決服務端 too many open files

分析: nginx要響應, 

1是要建立socket連線,

2 是要讀本地檔案

系統核心層面:

net.core.somaxconn = 4096 允許等待中的監聽

net.ipv4.tcp_tw_recycle = 1  tcp連線快速**

net.ipv4.tcp_tw_reuse = 1    tcp連線重用

net.ipv4.tcp_syncookies = 0  不抵禦洪水攻擊

ulimit -n 30000

nginx層面:

解決: nginx.conf 下面: work_connection 加大

worker_connections  10240;

worker_rlimit_nofiles 10000;

keepalive_timeout 0;

Nginx Nginx效能優化

在大多數情況下,乙個常規安裝的nginx對 來說已經能很好地工作了。然而如果想擠壓出nginx的效能,就需要了解哪些指令會影響nginx效能,在本文中將解釋nginx的哪些設定可以微調。需要注意一點,這是乙個簡單的預覽 那些可以通過微調來提高效能設定的概述,不同的環境可能情況不太一樣。對於nginx...

mysql的效能優化 mysql效能優化

檢視安裝指令碼 select version 非互動式超時時間,如jdbc show global variables like wait timeout 互動式超時時間,如資料庫工具 show global variables like interactive timeout show sessi...

mysql效能優化 mysql效能優化

優化方式 1.空間換時間 冗餘 2.時間換空間 字段優先使用型別 int date char varchar text 索引型別 btree索引 hash索引 索引的葉子下,存放乙個資訊指向所在行的資料位址。btree有利於範圍查詢,hash有利於精確查詢。btree用的更多一些。btree索引的常...