日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux nginx 内存占用,nginx内存占用过高

發(fā)布時間:2023/12/20 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux nginx 内存占用,nginx内存占用过高 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

nginx內存占用過高.md

現象

nginx運行一段時間后,內存占用非常高,超出系統最大內存后,開始使用SWAP,直至SWAP用盡,系統崩潰。內核參數vm.swappiness = 1。

如圖:

監(jiān)控趨勢圖:

分析和排查

因為之前使用的nginx版本為 1.11 ,出現內存泄露bug的可能性較小,并且網上沒有相關反饋。

之后開始分析nginx的配置文件,首先發(fā)現的比較特殊的配置是防刷模塊配置。

修改了防刷模塊配置,觀察一段時間,無效!

于是繼續(xù)查找配置文件,發(fā)現client_header_buffer_size有點大,做了調整

client_header_buffer_size20000k;

#@修改為

client_header_buffer_size32k;

觀察了幾天,問題解決了,再也沒出現內存占用過高的問題。汗,前人挖的大坑啊,訪問量低了還看不出來。

分析

Sets buffer size for reading client request header. For most requests, a buffer of 1K bytes is enough. However, if a request includes long cookies, or comes from a WAP client, it may not fit into 1K. If a request line or a request header field does not fit into this buffer then larger buffers, configured by thelarge_client_header_buffers directive, are allocated.

Nginx 使用 client_header_buffer_size 緩存客戶端的請求頭,對于大部分請求,1K的默認值已經足夠了。一旦請求頭超過了1K,空間不夠了,nginx就通過 large_client_header_buffers 按需擴容,這樣做可以平衡資源和性能。

比如說大部分請求頭的大小在 2K 以內,小部分的請求頭在 10K 左右,此時理論上我們可以通過調整 client_header_buffer_size 到 10K 來解決問題,不過這樣的話無疑浪費了寶貴的內存,更好的方法是調整 client_header_buffer_size 到 2K 滿足大部分請求頭的需求,至于小部分 10K 的請求頭,則通過調整 large_client_header_buffers 來滿足。

參考資料

總結

以上是生活随笔為你收集整理的linux nginx 内存占用,nginx内存占用过高的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。