日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

今天要說的是Nginx服務器高性能優化的配置,如何使Nginx輕松實現10萬并發訪問量。

通常來說,一個正常的 Nginx linux 服務器可以達到 500,000 – 600,000 次/秒 的請求處理性能,如果Nginx服務器經過優化的話,則可以穩定地達到 904,000 次/秒 的處理性能,大大提高Nginx的并發訪問量。

這里需要特別說明的是:

1、本文中所有列出來的配置都是在我的測試環境驗證的,你需要根據你服務器的情況進行配置。

2、Nginx的優化需要進行進行壓力測試,這里壓力測試用的是Apache ab測試工具,不熟悉的可以看看我之前的文章:《如何使用apache ab性能測試工具進行壓力測試》

優化思路

Nginx服務器高性能優化--輕松實現10萬并發訪問量

 

分析:nginx要成功響應請求,會有如下兩個限制:

1、nginx接受的tcp連接多,能否建立起來?

2、nginx響應過程,要打開許多文件,能否打開?

所以,只要我們針對上面兩個限制進行優化,就能大幅提升Nginx的效率。

優化步驟

Nginx服務器高性能優化--輕松實現10萬并發訪問量

 

一、步驟:

1. 找到Nginx服務器瓶頸。

2. 優化配置。

3. 重新壓力測試

注意:在配置修改之后務必要進行壓力測試,這樣可以觀測到具體是哪個配置修訂的優化效果最明顯。通過這種有效測試方法可以為你節省大量時間。

二、找出Nginx的瓶頸

1. 打開Apache ab壓力測試工具,輸入如下命令:ab -n 200000 -c 5000 http://localhost:8080/index.html。

Nginx服務器高性能優化--輕松實現10萬并發訪問量

 

2. 查看Nginx 狀態信息

在瀏覽器中輸入nginx的地址:http://127.0.0.1/status,查看nginx的狀態信息。

Nginx服務器高性能優化--輕松實現10萬并發訪問量

 

注意查看connections,waiting等參數信息。從而確定如何優化相關參數。

Nginx 狀態信息打開的方法,這里就不細說了,不清楚的可以看我之前的文章,《Nginx總結(八)啟用Nginx Status及狀態參數詳解》

優化配置

根據上面的方法總結起來,一般來說nginx 配置文件中對優化比較有作用的為以下幾項:

Nginx優化配置項:

1)優化 workprocess,cpu

worker_processes 8;      // 根據CPU核數配置
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000  00100000 01000000 10000000;

2)事件處理模型優化

nginx的連接處理機制在于不同的操作系統會采用不同的I/O模型,Linux下,nginx使用epoll的I/O多路復用模型,在freebsd使用kqueue的IO多路復用模型,在solaris使用/dev/pool方式的IO多路復用模型,在windows使用的icop等等。要根據系統類型不同選擇不同的事務處理模型,我們使用的是centos,因此將nginx的事件處理模型調整為epoll模型。

events {
    worker_connections  10240;    //
    use epoll;
}

說明:在不指定事件處理模型時,nginx默認會自動的選擇最佳的事件處理模型服務。

3)設置work_connections 連接數

 worker_connections  10240;

4)每個進程的最大文件打開數

worker_rlimit_nofile 65535;  # 一般等于ulimit -n系統值

5)keepalive timeout會話保持時間

keepalive_timeout  60;

6)GZIP壓縮性能優化

gzip on;       #表示開啟壓縮功能
gzip_min_length  1k; #表示允許壓縮的頁面最小字節數,頁面字節數從header頭的Content-Length中獲取。默認值是0,表示不管頁面多大都進行壓縮,建議設置成大于1K。如果小于1K可能會越壓越大
gzip_buffers     4 32k; #壓縮緩存區大小
gzip_http_version 1.1; #壓縮版本
gzip_comp_level 6; #壓縮比率, 一般選擇4-6,為了性能gzip_types text/css text/xml Application/JAVAscript;  #指定壓縮的類型 gzip_vary on; #vary header支持

7)proxy超時設置

proxy_connect_timeout 90;
proxy_send_timeout  90;
proxy_read_timeout  4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k

8)高效傳輸模式

sendfile on; # 開啟高效文件傳輸模式。
tcp_nopush on; #需要在sendfile開啟模式才有效,防止網路阻塞,積極的減少網絡報文段的數量。將響應頭和正文的開始部分一起發送,而不一個接一個的發送。

Linux系統內核層面:

Nginx要達到最好的性能,出了要優化Nginx服務本身之外,還需要在nginx的服務器上的內核參數。

這些參數追加到/etc/sysctl.conf,然后執行sysctl -p 生效。

1)調節系統同時發起的tcp連接數

net.core.somaxconn = 262144

2)允許等待中的監聽

net.core.somaxconn = 4096 

3) tcp連接重用

net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_tw_reuse = 1   

4)不抵御洪水攻擊

net.ipv4.tcp_syncookies = 0  
net.ipv4.tcp_max_orphans = 262144  #該參數用于設定系統中最多允許存在多少TCP套接字不被關聯到任何一個用戶文件句柄上,主要目的為防止DDoS攻擊

5)最大文件打開數

在命令行中輸入如下命令,即可設置Linux最大文件打開數。

ulimit -n 30000

最后

以上,就把Nginx服務器高性能優化的配置介紹完了,大家可以根據我提供的方法,每個參數挨個設置一遍,看看相關的效果。這些都是一點點試出來的,這樣才能更好的理解各個參數的意義。

分享到:
標簽:Nginx
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定