Nginx優化深入-----更改進程數+網頁壓縮+FPM優化

文章目錄

一、更改進程數

1.1、具體操作

1.2、更改進程數配置

二、nginx壓縮

2.1、壓縮功能參數

2.2、壓縮配置

三、FPM 參數優化

一、更改進程數

在高併發場景,需要啓動更多的Nginx進程以保證快速響應,以處理用戶的請求,避免造成阻塞。

可以使用ps aux命令查看Nginx運行進程的個數。

更改進程數的配置方法

修改配置文件,修改進程配置參數

1.1、具體操作

修改配置文件的worker_processes參數

一般設爲CPU的個數或者核數

在高併發情況下可設置爲CPU個數或者核數的2倍

運行進程數多一些, 響應訪問請求時,Nginx就不會臨時啓動新的進程提供服務,減少了 系統的開銷,提升了服務速度

使用ps aux查看運行進程數的變化情況

默認情況,Nginx的多個進程可能跑在-個CPU上,可以分配不同的進程給不同的CPU處 理,充分利用硬件多核多CPU。

1.2、更改進程數配置

1、修改配置文件

vim /usr/local/nginx/conf/nginx.conf
#修改 ,做負載
worker_processes  2;
worker_cpu_affinity 01 10;

#再重啓服務
service nginx stop
service nginx start

#查看進程
ps aux | grep nginx

Nginx優化深入-----更改進程數+網頁壓縮+FPM優化

2、驗證ps aux | grep nginx

Nginx優化深入-----更改進程數+網頁壓縮+FPM優化

二、nginx壓縮

Nginx的ngx_http_gzip_module壓縮模塊提供對文件內容壓縮的功能。

允許Nginx服務器將輸出內容在發送客戶端之前進行壓縮,以節約網站帶寬,提升用戶的 訪問體驗,默認已經安裝。

可在配置文件中加入相應的壓縮功能參數對壓縮性能進行優化。

2.1、壓縮功能參數

壓縮功能參數講解

gzip on;                #開啓gzip壓縮功能
gzip_min_length 1k;     #壓縮閾值
gzip_buffers 4 16k;     #buffer 大小爲4個16k緩衝區大小
gzip_http_version 1.1;  #壓縮版本
gzip_comp_level 6;      #壓縮比率,最小爲1,處理速度快,傳輸速度慢, 9最大壓縮比,處理速度慢,傳輸速度快
gzip_types text/plain application/x-javascript text/css image/jpg image/jepg image/png image/gif application/xml text/javascript application/x-http-php #application/javascript application/json;
gzip_disable "MSIE [1-6]\.";    #配置禁用gzip條件,支持正則,表示ie6以下不啓用gzip
gzip_vary on;           #選擇支持very header 可以讓前端的緩存服務器緩存經過gzip壓縮頁面

2.2、壓縮配置

1、修改配置文件

vim /usr/local/nginx/conf/nginx.conf
//開啓 gzip on;  //在下面添加
gzip on;    
gzip_min_length 1k;     
gzip_buffers 4 16k;     
gzip_http_version 1.1;      
gzip_comp_level 6;      
gzip_types text/plain application/x-javascript text/css image/jpg image/jepg image/png image/gif application/xml text/javascript application/x-http-php application/javascript application/json;
gzip_disable "MSIE [1-6]\.";    
gzip_vary on;   

//重啓服務
service nginx restart

Nginx優化深入-----更改進程數+網頁壓縮+FPM優化

三、FPM 參數優化

Nginx 的PHP解析功能實現如果是交給FPM 處理的,爲了提高PHP的處理速度,可對FPM 模塊進行參數的調整。

1、首先安裝帶有 FPM模塊的PHP 環境,保證PHP 可以正常運行;

2、FPM 進程有兩種啓動方式,由pm 參數指定,分別是 static 和dynamic,前者將產生固定的 fpm進程,後者將以動態的方式產生 fpm進程。

3、FPM優化參數講解:

Static的方式的參數

pm.max_children: 指定啓動的進程數量

Dynamic方式的參數

pm.max_children:指定啓動的進程數量最大的數量

pm.start_servers:動態方式下初始的fpm進程數量

pm.min_spare_servers: 動態方式下最小的fpm空閉進程數

pm.max_spare_servers:動態方式下最大的fpm空閉進程數

vim php-fpm.conf

pid = run/php-fpm.pid
pm = dynamic
pm.max_children=20          //static模式下空閒進程數上限,大於下面的值;
pm.start_servers = 5        //動態方式默認開啓的進程數,在最小和最大之間
pm.min_spare_servers = 2    //動態方式下最少空閒進程數
pm.max_spare_servers = 8    //動態方式下最大空閒進程數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章