文章目錄
1、更改進程數
1.一、具體操做
1.二、更改進程數配置
2、nginx壓縮
2.一、壓縮功能參數
2.二、壓縮配置
3、FPM 參數優化
1、更改進程數
在高併發場景,須要啓動更多的Nginx進程以保證快速響應,以處理用戶的請求,避免形成阻塞。
可使用ps aux命令查看Nginx運行進程的個數。
更改進程數的配置方法
修改配置文件,修改進程配置參數
1.一、具體操做
修改配置文件的worker_processes參數
通常設爲CPU的個數或者核數
在高併發狀況下可設置爲CPU個數或者核數的2倍
運行進程數多一些, 響應訪問請求時,Nginx就不會臨時啓動新的進程提供服務,減小了 系統的開銷,提高了服務速度
使用ps aux查看運行進程數的變化狀況
默認狀況,Nginx的多個進程可能跑在-個CPU上,能夠分配不一樣的進程給不一樣的CPU處 理,充分利用硬件多核多CPU。
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優化](http://static.javashuo.com/static/loading.gif)
二、驗證ps aux | grep nginx
![Nginx優化深刻-----更改進程數+網頁壓縮+FPM優化](http://static.javashuo.com/static/loading.gif)
2、nginx壓縮
Nginx的ngx_http_gzip_module壓縮模塊提供對文件內容壓縮的功能。
容許Nginx服務器將輸出內容在發送客戶端以前進行壓縮,以節約網站帶寬,提高用戶的 訪問體驗,默認已經安裝。
可在配置文件中加入相應的壓縮功能參數對壓縮性能進行優化。
2.一、壓縮功能參數
壓縮功能參數講解
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.二、壓縮配置
一、修改配置文件
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優化](http://static.javashuo.com/static/loading.gif)
3、FPM 參數優化
Nginx 的PHP解析功能實現若是是交給FPM 處理的,爲了提升PHP的處理速度,可對FPM 模塊進行參數的調整。
一、首先安裝帶有 FPM模塊的PHP 環境,保證PHP 能夠正常運行;
二、FPM 進程有兩種啓動方式,由pm 參數指定,分別是 static 和dynamic,前者將產生固定的 fpm進程,後者將以動態的方式產生 fpm進程。
三、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 //動態方式下最大空閒進程數