我理解的nginx的優化問題

2021-09-19 09:37:10 字數 1913 閱讀 1332

1.磁碟的讀寫速度。

因為靜態網頁主要是從磁碟中調取。

2.網絡卡的頻寬。

如果你電信寬頻是1000m的網速,但是你的網絡卡只支援10m的速度。這是萬萬不可採取的。

1.磁碟的讀寫速度。

2.網絡卡的頻寬。

3.cup的效能。

因為動態網頁是由指令碼構成的。每次訪問動態網頁其實是cup執行指令碼。這裡cup效能越好,訪問速度越快。

當然指令碼的精簡度,也能影響到速度。

把nginx的cup使用數調到與伺服器的cpu數相同。使伺服器全cpu執行

worker_processes  電腦的cpu數;    nginx配置檔案裡有,不需要手打
要把每個worker的最大支援併發數調到最大

worker_connection 65535;   調到2的16次方
ulimit -hn 檔案數  硬性設定(臨時)

ulimit -sn 檔案數 軟性設定(臨時)

永久設定檔案:/etc/security/limits.conf

* soft nofile 檔案數 軟

* hard nofile 檔案數 硬

這裡的*是帶表所有使用者的意思,如果把*改為tom,則對tom單獨設定.

nofile 中 no 是數字的意思.

ab -c 人數 -n 檔案數 http://ip/ 這是做測試用的命令,注意:檔案數一定是人數的整數倍,

檔案數不能超過20000,否則會報語法錯誤.

client_header_buffer_size 1k;  預設為1k

large_client_header_buffers 4 4k; 最大請求給它4*4=16k空間

注意:不要給它太大空間,因為每多乙個訪問就會占用乙個16k

location ~* (jpg|png)$
mv access.log access.log.old   把原本的日誌檔案改個名字

kill -usr1 $(cat /usr/local/nginx/logs/nginx.pid)

告訴nginx我把日誌檔案拿走了,你必須在建立乙個新的日誌檔案.

如果不執行這一步,系統將還會把日誌儲存到改名後的檔案中.

gzip on;   開啟

gzip_min_length 1k; 1k以下的不使用gzip

gzip_comp_level 4; 1-10 數值越大壓縮越完整,但速度越慢,時間越長。

gzip_types 檔案型別 什麼檔案需要壓縮,就新增什麼檔案型別

http { open_file_cache      max=2000  inactive=20s;   

inactive是無人訪問時 對伺服器而言,給客戶端斷開不再讓客戶端占用我的資源

對客戶機而言.沒人訪問時就是每20秒重新整理一次

open_file_cache_valid 60s;

這個60s是你一直訪問我也60s時給你重新整理一次

open_file_cache_min_uses 5;

訪問超過5次被快取

open_file_cache_errors off;

快取如果被關閉了,不要向日誌檔案裡發出報錯

date'4/21/0:56'

Unity優化 我所理解的IL指令

指令格式 英文單詞全寫 指令解釋 nopno operation performed 不做任何操作,留待後續版本補齊此操作碼功能 ldc.i4 num load const 將操作常數數num推送到計算堆疊.其中i4代表int32常數,棧頂結果為int32 ldc.i8,代表推送int64常數,結果...

我理解的遞迴

1.在遞迴呼叫工作棧建立之後,各層遞迴所涉及到的變數都已經壓入到棧中,每次呼叫一次函式,系統記憶體機制就會以棧的方式分配該遞迴函式所需的記憶體空間,同時,每層函式得出的結果會暫時儲存在這個棧的空間中 2.當整個遞迴函式在遇到已if 為標誌的條件結束標誌的時候,函式不需要繼續執行該函式,系統停止記憶體...

我理解的原型

js中幾大疑難雜症 原型 通常提到原型都會提到繼承 我覺得原型就是為了繼承啊 比如你想給你 裡的乙個物件擴充套件乙個通用的方法 就可以寫成 array.prototype.func function 這樣就給陣列物件新增了乙個func方法 這樣 var arr 1,2,3 arr.func 就跟陣列...