日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

nginx的配置优化

發(fā)布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx的配置优化 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

優(yōu)化nginx的配置,做到合理高效的使用,讓程序的跑的足夠快,支持足夠多的并發(fā):

目標:
1.盡量提高但臺機器的處理效率
2.盡量減少單臺機器的負載
3.盡量減少磁盤的i/o
4.盡量減少網(wǎng)絡(luò)的i/o
5.盡量減少內(nèi)存的使用
6.盡量高效利用cpu的使用

怎么做?
1.nginx的模塊用到啥,就裝啥,在安裝的時候加上

2.給nginx創(chuàng)建用戶和組,單獨設(shè)置權(quán)限,會更安全,例如:user nginx ngix

3.worker_processes:通常配置成cpu的總核數(shù),或者其2倍,性能會更好,因為這樣會減少進程間切換帶來的消耗。

4.還可以同時使用worker_cpu_affinity來綁定cpu,使得每個worker進程獨享cpu,實現(xiàn)完全開發(fā),性能會更好,但是這個只對linux系統(tǒng)有效。

5.events里面的時間模型,linux推薦使用epoll模型,FreeBSD推薦采用kqueue。

6.worker_rlimit_nofile:描述一個nginx進程打開的最多的文件數(shù)目。配置成跟linux內(nèi)核下文件打開數(shù)一致就行。可以通過ulimit -n 來查看,新裝的系統(tǒng)默認是1021,centOS中可以如下方式進行修改:
在/etc/security/limits.conf最后增加:
*soft nofile 65535
*hard nofile 65535
*soft nproc 65535
*hard nproc 65535
改完后重啟。

7.work_connection:每個進程允許的最多連接數(shù),默認是1024,可以設(shè)置大一些。 理論上并發(fā)總數(shù)是worker_processes和worker_connections的乘積,worker_connections的值設(shè)置跟物理內(nèi)存大小有關(guān),因為系統(tǒng)可以打開的作答文件數(shù)和內(nèi)存大小成正比,一般1GB內(nèi)存的機器上可以打開的文件數(shù)大約是10萬左右,所以,worker_connections的值需要根據(jù)worker_processes進程數(shù)目和系統(tǒng)可以打開的最大文件總數(shù)進行適當?shù)倪M行設(shè)置。

8.keepalive_timeout:設(shè)置到65左右就可以,默認是75。

9.client_header_buffer_size:設(shè)置請求的緩存,設(shè)置為4k,通常微系統(tǒng)分頁大小的整數(shù)倍,可以通過 getconf PAGESIZE 來查看系統(tǒng)分頁大小。

10.對打開的文件設(shè)置緩存
open_file_cashe max = 建議設(shè)置成和每個進程打開的最大文件數(shù)一致 inactive=60s
open_file_cashe_valid 90s ;
open_file_cashe_min_uses 2;
open_file_cashe_errors on;

11.盡量開啟Gzip壓縮,gzip_comp_level通常設(shè)置成3-5,高了浪費CPU

12.Error日志:生產(chǎn)環(huán)境要設(shè)成最高也就是crit,可以減少I/O

13.access日志優(yōu)化:如果有其他統(tǒng)計軟件,可以關(guān)閉日志,減少磁盤寫,或者寫入內(nèi)存文件,提高I/O效率

14.sendfile 指令指定 nginx是否調(diào)用sendfile函數(shù)(zero copy 方式)輸出文件,通常設(shè)置成on,如果是下載的應(yīng)用磁盤IO重負載應(yīng)用,可設(shè)置為off

15.buffers size 優(yōu)化: 如果buffer size 太小就會導(dǎo)致nginx使用臨時文件存儲response,這回引起磁盤讀寫IO,流量越大問題越明顯。

16.worker_priority 進程優(yōu)先級設(shè)置:linux系統(tǒng)中,優(yōu)先級搞得進程會占用更多的系統(tǒng)資源,這里配置的是進程的靜態(tài)優(yōu)先級,取值范圍 -20到+19,-20級別最高。因此可以把這個設(shè)置小一點,但不建議比內(nèi)核進程的值低(通常為-5)

17.合理設(shè)置靜態(tài)資源的瀏覽器緩存時間,盡量使用瀏覽器緩存

18.負載均衡鎖accept_mutex,建議開啟,默認就是開啟的

19.如果使用ssl的話,而且服務(wù)器上有ssl硬件加速設(shè)備的話,請開啟硬件加速。

稍微整理一下,優(yōu)化要根據(jù)具體實際的應(yīng)用和服務(wù)器才有意義。。。。。。。。。。。。。。。。。。。。。。

總結(jié)

以上是生活随笔為你收集整理的nginx的配置优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。