乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Nginx 響應(yīng)提速10倍,你需要知道的緩存性能優(yōu)化——FastCGI調(diào)優(yōu)

       美好生活谷 2019-04-16

      Nginx緩存優(yōu)化是幫助大家提升網(wǎng)站性能的重要操作之一,proxy_cache主要用于反向代理時,對后端內(nèi)容源服務(wù)器進行緩存;fastcgi_cache主要用于對FastCGI的動態(tài)程序進行緩存。但是大多數(shù)同學(xué)存在對proxy_cache比較熟悉,對fastcgi_cache相對陌生的情況。但事實是Fastcgi參數(shù)的優(yōu)化在很大程度上提高了整個應(yīng)用系統(tǒng)的性能。今天小編幫助大家打破“陌生”,一起探索Ngnix中的Fastcgi參數(shù)性能優(yōu)化~

      什么是Fastcgi

      FastCGI,全稱快速通用網(wǎng)關(guān)接口(FastCommonGatewayInterface),可以看作是常駐型的CGI,執(zhí)行速度更快。由于服務(wù)器不能直接運行php、asp等文件,因此需要引入一個第三方程序,并和它有個約定:我把請求參數(shù)發(fā)送給你,然后我接收你的處理結(jié)果再給客戶端,這就是CGI。

      Nginx 響應(yīng)提速10倍,你需要知道的緩存性能優(yōu)化——FastCGI調(diào)優(yōu)

      Nginx的Fastcgi cache是用來緩存用戶請求,當(dāng)用戶下次再進行同樣的訪問的時候直接將緩存結(jié)果返回給用戶,避免了Nginx再向上游請求結(jié)果的過程,使服務(wù)性能大幅度提升,如果服務(wù)是靜態(tài)可緩存的話使用這個模塊能夠明顯縮短用戶請求時間同時節(jié)省服務(wù)器資源,大大提升服務(wù)的QPS。

      Nginx 響應(yīng)提速10倍,你需要知道的緩存性能優(yōu)化——FastCGI調(diào)優(yōu)

      Fastcgi緩存的優(yōu)缺點

      通過緩存php、asp生成的動態(tài)內(nèi)容,來減少了nginx與php、asp的通信次數(shù),從而減輕php、asp和后段數(shù)據(jù)庫的壓力,響應(yīng)時間由幾百毫秒降低到幾十毫秒。

      雖然效果顯著,但是fastcgi_cache有個致命缺點,在緩存失效時間之內(nèi),即使更新了數(shù)據(jù)庫信息,訪問內(nèi)容也不會發(fā)生變化。

      Fastcgi緩存的適用場景

      • 非即時數(shù)據(jù)查詢的應(yīng)用
      • 數(shù)據(jù)變化頻率低
      • 輕量,非大型web站點
      • 節(jié)省資源,代替Memcached服務(wù)器

      Fastcgi優(yōu)化配置詳解

      就優(yōu)化性能參數(shù)設(shè)置,下面會從兩個模塊分別說明:

      1)http區(qū)域設(shè)置的緩存參數(shù)

      fastcgi_temp_path path [level1 [level2 [level3]]];fastcgi_cache_path path [levels=m:n] keys_zone=name:size [inactive=time] [max_size=size]

      參數(shù)解釋:

      # path 緩存文件存放(臨時)目錄# levels 緩存層次# keys_zone 緩存空間名和共享內(nèi)存大小# inactive 失效時間, 1d = 1天# max_size 最大緩存空間(硬盤占用)

      【推薦配置】

      fastcgi_temp_path /tmp/tempfastcgi_cache_path /var/fastcgi_cache levels=1:2 keys_zone=cache_fastcgi:256m inactive=1d max_size=1g; #共享內(nèi)存大小和最大緩存空間由具體應(yīng)用重新評估設(shè)置

      注: fastcgi_temp_path 和 fastcgi_cache_path 指定的路徑必須在同一分區(qū)

      2)server模塊設(shè)置的緩存參數(shù)

      fastcgi_connect_timeout=300; #fastcgi連接超時時間fastcgi_send_timeout=300; #fastcgi請求超時時間fastcgi_rend_timeout=300; #接收fastcgi應(yīng)答超時時間fastcgi_buffer_size=64k; #讀取fastcgi應(yīng)答需要多大緩沖區(qū)fastcgi_buffers 4 64k; #指定本地需要多少個和多大的緩沖區(qū)來緩沖fastcgi應(yīng)答請求fastcgi_busy_buffers_size 128k; #默認值是fastcgi_buffer的2倍fastcgi_temp_file_write_size 128k; #寫入緩存文件使用多大的數(shù)據(jù)塊 fastcgi_cache #表示開啟FastCGI緩存并為其指定一個名稱。fastcgi_cache_valid #指定緩存狀態(tài)及失效時間fastcgi_cache_min_uses #指定緩存成為過期數(shù)據(jù)fastcgi_cache_use_stale #定義哪些情況下用過期緩存fastcgi_cache_key #指定緩存文件的標(biāo)識,這個標(biāo)識會 MD5 轉(zhuǎn)碼存儲在緩存域的目錄下ffastcgi_cache_methods #指定緩存的請求方式 

      【推薦配置】

      fastcgi_connect_timeout=300fastcgi_send_timeout=300;fastcgi_rend_timeout=300;fastcgi_buffer_size=64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k;fastcgi_cache fcgi;fastcgi_cache_valid 200 302 301 1h;fastcgi_cache_valid any 1m;fastcgi_cache_min_uses 1;fastcgi_cache_use_stale error timeout invalid_header http_500;fastcgi_cache_key '$request_method://$host$request_uri';fastcgi_cache_methods GET HEAD;
      Nginx 響應(yīng)提速10倍,你需要知道的緩存性能優(yōu)化——FastCGI調(diào)優(yōu)

      其他問題

      1、頁面訪問空白

      原因:這是由于 fastcgi_cache_key 中沒有設(shè)置$request_method,將 GET 和 HEAD 的請求存儲到了同一個 key 中。

      解決:配置完畢后,訪問偶爾出現(xiàn)空白頁面,清空緩存目錄后,重新訪問恢復(fù)。

      2、頁面緩存失敗,一直 MISS

      原因:默認情況下,請求的 header 中包含“Expires”, “Cache-Control”, “Set-Cookie”等,頁面將不會被緩存。

      解決:添加參數(shù) fastcgi_ignore_headers Cache-Control Expires SetCookie;重載nginx服務(wù)即可。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多