欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

對Nginx支持SSL的性能進(jìn)行優(yōu)化的方法

 更新時(shí)間:2015年06月28日 10:25:19   投稿:goldensun  
這篇文章主要介紹了對Nginx支持SSL的性能進(jìn)行優(yōu)化的方法,作者分別以不同方法進(jìn)行了8個(gè)優(yōu)化實(shí)驗(yàn),需要的朋友可以參考下

這篇文章是講web服務(wù)器方面的性能調(diào)整. 不包括數(shù)據(jù)庫性能的調(diào)整.
初始化服務(wù)器

這個(gè)web服務(wù)器運(yùn)行在一個(gè)EC2 t1.micro 環(huán)境.我選擇 Nginx + PHP5-FPM 來運(yùn)行php頁面,出于安全考慮我使用SSL.
測試性能

我使用Blitz.io來進(jìn)行壓力和性能測試. 下面的是我壓力測試的命令. 功能是在60秒內(nèi)逐漸增加用戶. 在整個(gè)過程中,Blitz.io 每秒創(chuàng)建一個(gè)請求并增加4個(gè)用戶(rise/run = 260/60).

復(fù)制代碼 代碼如下:
-p 1-250:60 https://mydomian.com

詳細(xì)的解釋

對于愛好者來說,這里是詳細(xì)的解釋。我將會(huì)在下述章節(jié)帶領(lǐng)你重溫我的思考過程。
如果編輯了Nginx配置,那么重啟Nginx服務(wù)器。如果編輯了PHP5-FPM配置,那么重啟服務(wù)。

嘗試 #1: 增強(qiáng)硬件

對于改善性能,我本能的想法是增強(qiáng)服務(wù)器硬件,希望一切都會(huì)正常工作。我將EC2實(shí)例從t1.micro升級(jí)到了c1.medium(針對高流量服務(wù)器進(jìn)行了優(yōu)化,而不是通用服務(wù)器)。

在此之后,我運(yùn)行了Blitz.io負(fù)載測試。這是結(jié)果的截圖

2015628100933572.png (983×869)

 服務(wù)器的峰值性能可以達(dá)到每秒50個(gè)成功命中。隨著負(fù)載的繼續(xù)增加,超時(shí)的數(shù)量上升,而命中的數(shù)量下降。

嘗試 #2: 評(píng)效CPU性能

我重新執(zhí)行了測試,同時(shí)在后臺(tái)運(yùn)行htop。我注意到兩個(gè)CPU的利用率不超過13%。內(nèi)存使用了300Mb。看起來服務(wù)器沒有充分利用。所以我做了下述改變。我編輯了/etc/ngnix/nginx.conf

復(fù)制代碼 代碼如下:
worker_processes 2;

嘗試 #3, #4, #5: 微調(diào) Nginx + PHP5-FPM

在下述嘗試中,我改變了下述值,仍然獲得跟嘗試 #1同樣的結(jié)果。

嘗試 #3

復(fù)制代碼 代碼如下:
/etc/ngnix/nginx.conf

worker_processes 2;
events {
worker_connections 19000;
multi_accept on;
}
...

_________

嘗試 #4

復(fù)制代碼 代碼如下:
/etc/ngnix/nginx.conf

worker_processes 2;
events {
  worker_connections 19000;
  multi_accept on;
}
http {
  gzip on;
  gzip_disable "msie6";

  gzip_min_length  1000;
  gzip_proxied     expired no-cache no-store private auth;
  gzip_types       text/plain application/xml application/javascript text/css application/x-javascript;

}
...

________

嘗試 #5
我沒有取消嘗試 #4的改變

復(fù)制代碼 代碼如下:
/etc/php5/fpm/pool.d/www.conf

pm.max_children = 160
pm.start_servers = 24
pm.min_spare_servers = 20
pm.max_spare_servers = 35
pm.max_requests = 1500

嘗試 #6: 部署另外一臺(tái)服務(wù)器


我還有另外一臺(tái)Linode服務(wù)器。具有1.5Gb的內(nèi)存和8個(gè)CPU。我復(fù)制所有Nginx和PHP5-FPM的設(shè)置到這臺(tái)服務(wù)器上。

這是我使用Blitz.io進(jìn)行壓力測試的命令

復(fù)制代碼 代碼如下:
-p 1-250:60 http://labs.mydomian2.com

這是結(jié)果:

2015628101201117.png (976×890)

 Linode服務(wù)器非常棒!我在想“Linode比EC2好么?”。在我決定沿著這條思路走下去,將代碼遷移到Linode之前,我想要確保兩臺(tái)服務(wù)器之間沒有差別。


嘗試 #7: 大啟示

我搜索了一下,發(fā)現(xiàn)Nginx有些SSL相關(guān)的問題。默認(rèn)Nginx使用DHE算法創(chuàng)建密碼(cipher)。禁用該算法將會(huì)提升性能。

所有我編輯/etc/nginx/nginx.conf去掉了kEDH密碼算法。

復(fù)制代碼 代碼如下:
worker_processes 2;
events {
  worker_connections 1024;
}
http {
  gzip on;
  gzip_disable "msie6";

  gzip_min_length  1000;
  gzip_proxied     expired no-cache no-store private auth;
  gzip_types       text/plain application/xml application/javascript text/css application/x-javascript;
  ssl_ciphers ALL:!kEDH!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; 

}
...

我重現(xiàn)執(zhí)行了原來的壓力測試:

復(fù)制代碼 代碼如下:
-p 1-250:60 https://mydomian.com

這是結(jié)果:

2015628101224107.png (992×869)

 真的有效!?。?!

嘗試 #8: 我真的需要增強(qiáng)硬件

太棒了,EC2與Linode在性能上很接近。但是我真的需要c1.medium實(shí)例來獲得這種性能么?可能不需要... 所以我將EC2的實(shí)例類型改回了t1.micro。

I因?yàn)閙icro實(shí)例只有一個(gè)CPU,所有我在/etc/nginx/nginx.conf中減少了worker_processes。

復(fù)制代碼 代碼如下:
worker_processes 1;
...

這是結(jié)果:

2015628101302172.png (986×891)

 嗯,額外的硬件是有幫助的。
結(jié)論

想要在使用了SSL的Nginx服務(wù)器上獲得最好的性能,如下操作:

  •     - 默認(rèn)使用的DH算法是低性能的最大原因。改變SSL密碼設(shè)置如下:

復(fù)制代碼 代碼如下:
    ssl_ciphers ALL:!kEDH!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

  •     - 升級(jí)EC2從t1.micro到c1.medium
  •     - 因?yàn)閏1.medium有兩個(gè)CPUs,所有設(shè)置Nginx有兩個(gè)工作進(jìn)程。


相關(guān)文章

  • 詳解nginx websocket配置

    詳解nginx websocket配置

    這篇文章主要介紹了詳解nginx websocket配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • Nginx啟用gzip壓縮的方法示例

    Nginx啟用gzip壓縮的方法示例

    這篇文章主要介紹了Nginx啟用gzip壓縮的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07
  • Nginx使用limit_req_zone對同一IP訪問進(jìn)行限流的方法

    Nginx使用limit_req_zone對同一IP訪問進(jìn)行限流的方法

    今天小編就為大家分享一篇Nginx使用limit_req_zone對同一IP訪問進(jìn)行限流的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 詳解nginx過濾url實(shí)現(xiàn)前臺(tái)js的配置問題

    詳解nginx過濾url實(shí)現(xiàn)前臺(tái)js的配置問題

    本篇文章主要介紹了nginx過濾url實(shí)現(xiàn)前臺(tái)js的配置問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • nginx訪問動(dòng)態(tài)接口報(bào)錯(cuò)404Not Found問題解決

    nginx訪問動(dòng)態(tài)接口報(bào)錯(cuò)404Not Found問題解決

    本文主要介紹了nginx訪問動(dòng)態(tài)接口報(bào)錯(cuò)404Not Found問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 詳解nginx 的 default_server 定義及匹配規(guī)則

    詳解nginx 的 default_server 定義及匹配規(guī)則

    這篇文章主要介紹了詳解nginx 的 default_server 定義及匹配規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • nginx實(shí)現(xiàn)數(shù)據(jù)庫端口轉(zhuǎn)發(fā)

    nginx實(shí)現(xiàn)數(shù)據(jù)庫端口轉(zhuǎn)發(fā)

    本文主要介紹了nginx實(shí)現(xiàn)數(shù)據(jù)庫端口轉(zhuǎn)發(fā),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Nginx服務(wù)安裝及軟件升級(jí)

    Nginx服務(wù)安裝及軟件升級(jí)

    這篇文章主要為大家介紹了Nginx服務(wù)的安裝以及軟件升級(jí)的步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • nginx rewrite 偽靜態(tài)配置參數(shù)詳細(xì)說明

    nginx rewrite 偽靜態(tài)配置參數(shù)詳細(xì)說明

    nginx rewrite 偽靜態(tài)配置參數(shù)和使用例子 附正則使用說明
    2010-05-05
  • nginx反向代理的全流程

    nginx反向代理的全流程

    這篇文章主要介紹了nginx反向代理的全流程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論