nginx反向代理優化(檔案描述子)

WBOY
發布: 2016-08-08 09:24:21
原創
1095 人瀏覽過

lsof工具

檔案描述子是一個簡單的整數,用以標明每一個被流程所開啟的檔案和socket。第一個打開的文件是0,第二個是1,依此類推。 Linux作業系統通常會為每個行程能開啟的檔案數量強加一個限制,Linux通常有一個系統級1024的限制。
隨著並發的增大,原有系統預設的1024個檔案描述符肯定會不夠用,時間越長,系統可能會報如下錯誤:

open files limits…..

查看nginx進程所佔用的檔案描述符,可以執行指令:

<code>lsof <span>| grep nginx</span></code>
登入後複製

部分結果

<code>nginx     <span>6845</span>    nobody    <span>6</span>u     <span>IPv4</span><span>179045</span>      0t<span>0</span><span>TCP</span> *<span>:http</span> (<span>LISTEN</span>)
nginx     <span>6845</span>    nobody    <span>7</span>u     <span>IPv4</span><span>179046</span>      0t<span>0</span><span>TCP</span> *<span>:ddi-tcp-</span><span>1</span> (<span>LISTEN</span>)
nginx     <span>6845</span>    nobody    <span>8</span>u     unix <span>0xffff88005eda0c80</span>      0t<span>0</span><span>179050</span> socket
nginx     <span>6845</span>    nobody    <span>9</span>u      <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode
nginx     <span>6845</span>    nobody   <span>10</span>u      <span>REG</span><span>0</span>,<span>9</span><span>0</span><span>3660</span> anon_inode</code>
登入後複製

*註:第二行是nginx的進程編號

<code><span># 统计nginx进程打开了多少个文件数可以用下边的命令</span>lsof <span>|grep nginx|wc –l</span></code>
登入後複製

方法1:

上邊部分結果的第二列是nginx的進程號

可以看到這個行程產生的文件,然後看limits檔

<code><span>cd</span> /prec/<span>6845</span></code>
登入後複製

第八行,Max open files是51200,(預設是1024),這是因為
我在nginx.conf裡面頂格加了一行:

<code>more limits</code>
登入後複製

方法二:

執行:

<code>worker_rlimit_nofile 51200;</code>
登入後複製

reee

執行:

<code>ulimit <span>-a</span></code>
登入後複製
即可


方法三:

<code>ulimit <span>-SHn</span><span>65535</span></code>
登入後複製
執行:

<code>[root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span>
fs.<span>file</span>-<span>max</span> = <span>201604</span>
[root<span>@localhost</span><span>6845</span>]#</code>
登入後複製
要永久生效編輯:

<code>[root<span>@localhost</span><span>6845</span>]# sysctl -w fs.<span>file</span>-<span>max</span>=<span>65535</span>
fs.<span>file</span>-<span>max</span> = <span>65535</span>
[root<span>@localhost</span><span>6845</span>]# sysctl -a | grep <span>file</span>-<span>max</span>
fs.<span>file</span>-<span>max</span> = <span>65535</span></code>
登入後複製

以上就介紹了nginx反向代理優化(檔案描述子),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!