1. 程式人生 > >高併發網路負載linux的核心優化

高併發網路負載linux的核心優化

近期在上squid,由於訪問量集中在一臺主機上,雖然經過了一些優化但是還是大量存在timewait的連結。打算在細挖下核心的一些網路引數的優化。目前還在調整中,如果照著修改的話先cat 備份下你係統現在的值
1.可以改變滑動視窗的大小 (預設應該就是“1”)
echo “1″ > /proc/sys/net/ipv4/tcp_window_scaling

2.修改核心共享記憶體限制 (新的系統應該預設就是這值)
echo 4294967296 >/proc/sys/kernel/shmall
echo 68719476736 >/proc/sys/kernel/shmmax

3.可使用的代理埠
echo “1024 65000″ > /proc/sys/net/ipv4/ip_local_port_range

4.禁止廣播和ping入
echo “1″ > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo “1″ > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

5./proc/sys/net/ipv4/netfilter/ip_conntrack_max 改大到 268435456 預設只有65536 (這個就是連線跟蹤表,一味的改大反而會增加系統的負載,一般來講預設值也夠,正確的優化方向是加快連線的關閉釋放資源,我這只是在優化初期臨時改大。注意/proc/sys/net/ipv4/ip_conntrack_max的值要大於這個值)

6.echo “1800″ > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
預設確立連線會在5天后失效,改為半小時後失效,減少ip_conntrack的有效連線數量。

7.echo 1 > /proc/sys/net/ipv4/tcp_syncookies
防範SYN DDOS攻擊,開啟TCPsyncookies,CENTOS4以上的核心是支援的。

8.echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
SYN列隊長度,不要設定太高,會消耗相應的記憶體。

9.echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
SYN重試次數。

10.echo 3 > /proc/sys/net/ipv4/tcp_syn_retries
SYN重試次數。

還有一些沒深入研究的
echo 600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_generic_timeout
echo 10 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close
echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_close_wait
echo 120 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_fin_wait
echo 60 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_time_wait
echo 30 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout

相關推薦

併發網路負載linux核心優化

近期在上squid,由於訪問量集中在一臺主機上,雖然經過了一些優化但是還是大量存在timewait的連結。打算在細挖下核心的一些網路引數的優化。目前還在調整中,如果照著修改的話先cat 備份下你係統現在的值 1.可以改變滑動視窗的大小 (預設應該就是“1”) echo “

基於Nginx實現10萬+併發,你應該做的Linux核心優化

由於預設的Linux核心引數考慮的是最通用場景,這明顯不符合用於支援高併發訪問的Web伺服器的定義,所以需要修改Linux核心引數,是的Nginx可以擁有更高的效能; 在優化核心時,可以做的事情很多,不過,我們通常會根據業務特點來進行調整,當Nginx作為靜態web內容

linux 併發網路程式設計之epoll詳解

前言       I/O多路複用有很多種實現。在linux上,2.4核心前主要是select和poll,自Linux 2.6核心正式引入epoll以來,epoll已經成為了目前實現高效能網路伺服器的必備技術。儘管他們的使用方法不盡相同,但是本質上卻沒有什麼區別。本文將重點探

nginx負載均衡教程之從不用root編譯開始! + flask + uwsgi 部署併發網路服務!

編譯使用nginx without root! 之前閱讀了很過國內的部落格,對nginx在linux下的使用都是一筆帶過,這個給後面的使用造成了很大的麻煩!尤其是在不用root怎麼安裝這塊!本部分詳細的講解,供新人使用!此處參考了一個國外人的[wiki

Linux LVS併發測試程式,核心引數設定,連線數查詢指令

最近在公司參與了一個LVS系統測試的專案,學習到了一些關於高併發測試相關的知識,寫到部落格裡記錄下 Linux核心引數設定 在伺服器端需要調整系統最大檔案控制代碼數 ulimit -n 1000000 在伺服器硬體支援,以及服務較輕量的情況下,最大

併發Haproxy壓力測試與優化之道

壓力測試--壓測及調優 HAProxy 實現 200 萬併發 SSL 連線的過程先觀察上面截圖,可以看到兩個關鍵資訊: • 這臺機器已經建立了 2.3 萬個 TCP 連線• 使用記憶體大約在 22G。測試目標 我們要測試的元件是 HAProxy 1.6 版。生產環境是在 4 核 30 G 的機器

Linux核心優化

net.ipv4.ip_forward = 0 #該檔案內容為0,表示禁止資料包轉發,1表示允許 net.ipv4.conf.default.rp_filter = 1 #是否忽略arp請求 net.ipv4.conf.default.accept_source_route = 0 #是否接受

2018年最新JAVA架構師包含技術總綱-微服務,併發,分散式,效能優化,spring,mybatis底層原始碼,虛擬機器,基礎框架架構,系統架構

2018年最新JAVA架構師包含技術總綱-微服務,高併發,分散式,效能優化,spring,mybatis底層原始碼,虛擬機器,基礎框架架構,系統架構 寫在開篇 不管是開發、測試、運維,每個技術人員心裡都有一個成為技術大牛的夢,畢竟“夢想總是要有的,萬一實現了呢”!正是對技術夢的追求,促使我們不斷地努力和提

Android進階系列-手寫併發網路訪問框架

 一個專案,訪問網路那是必須的。現在開源的網路框架很多。比如最開始的HeepClient,Volley,xUtils,最近很火的okhttp,還有例如retrofit,okGo這些都是很不錯 的框架。但是畢竟是別人寫的。出了什麼問題都不好查詢。這裡自己封裝了一個網路框架,記錄

linux核心優化核心引數詳解

轉自百度文庫,最後有一部分修改: 一、前言 本文件針對OOP8生產環境,具體優化策略需要根據實際情況進行調整;本文件將在以下幾個方面來闡述如何針對RedHat Enterprise Linux進行效能優化。 1)       Linux Proc檔案系統,通過對Proc檔案

Linux 核心優化-調大TCP最大連線數

一、tcp 概述 1、伺服器如何標識tcp連線? 在tcp應用中,server事先在某個固定埠監聽,client主動發起連線,經過三路握手後建立tcp連線。 在確定最大連線數之前,先來看看系統如何標識一個tcp連線。系統用一個4四元組來唯一標識一個TCP連線:{local

Nginx 併發TCP請求Linux系統引數配置

需要修改/etc/sysctl.conf來更改核心引數 #原有欄位   net.ipv4.tcp_syncookies = 1   #新增欄位   fs.file-max = 999999   net.ipv4.tcp_tw_reuse = 1   net.ipv4.tcp

京東併發搶購系統的核心邏輯與架構實現

1、服務介紹 限時搶購又稱閃購,英文Flash sale,起源於法國網站Vente Privée。閃購模式即是以網際網路為媒介的B2C電子零售交易活動,以限時特賣的形式,定期定時推出國際知名品牌的商品,一般以原價1-5折的價格供專屬會員限時搶購,每次特賣時間持續5-10

C++併發網路通訊引擎學習記錄。

2018.11.19 週一 學了 C/C++ 語言這麼久了,從來沒有真正的做過一個完整的專案,總覺得缺了點什麼,所以決定找一個專案來認認真真跟著做。最後在朋友的推薦下選擇了劉向東的《C++百萬併發網路通訊引擎架構與實現》,學習這個專案我大概給自己規劃了3個學習階段: 跟著老師

併發Java 九 鎖的優化和注意事項

1. 鎖優化的思路和方法 在[高併發Java 一] 前言中有提到併發的級別。 一旦用到鎖,就說明這是阻塞式的,所以在併發度上一般來說都會比無鎖的情況低一點。 這裡提到的鎖優化,是指在阻塞式的情況下,如何讓效能不要變得太差。但是再怎麼優化,一般來說效能都會比

Windows下可靠性網路負載均衡方案NLB+ARR

序言 在上一篇配置iis負載均衡中我們使用啦微軟的ARR,我在那篇文章也中提到了網站的高可用性,但是ARR只能做請求入口的訊息分發服務,這樣如果我們的訊息分發伺服器給down掉啦,那麼做再多的應用服務叢集也都枉然。 這篇文章我主要針對解決這一問題來做分析,引入NLB,相對於ARR來說,ARR算是應用級別的

linux網路linux核心網路資料包流向圖

根據網路上搜集的資源以及檢視linux核心網路相關的程式碼,arvik繪製了一份linux核心網路資料包流向圖,該圖大致呈現了資料包從網絡卡進來以後到怎麼出網絡卡或者進入本地的流程 以及 本地資料怎麼流出網絡卡的流程。如下(linux核心版本3.10.36):

二十五、併發場景下HttpClient的優化使用

1.背景 我們有個業務,會呼叫其他部門提供的一個基於http的服務,日呼叫量在千萬級別。使用了httpclient來完成業務。之前因為qps上不去,就看了一下業務程式碼,並做了一些優化,記錄在這裡。 先對比前後:優化之前,平均執行時間是250ms;優化之後,平均執行時間是80ms

tengine整合tomcat加上memcached實現併發負載均衡、可擴充套件架構

1、高可用、負載均衡、可擴充套件架構的需要背景 2、系統架構 3、系統規劃及說明 4、系統部署及測試 5、總結 1、高可用、負載均衡、可擴充套件架構的需要背景     從網際網路誕生以來,網站架構隨著網際網路的快速發展發生著巨大的變化,現今,資料每天都在以爆

java併發負載均衡

一個小型的網站,比如個人網站,可以使用最簡單的html靜態頁面就實現了,配合一些圖片達到美化效果,所有的頁面均存放在一個目錄下,這樣的網站對系統架構、效能的要求都很簡單,隨著網際網路業務的不斷豐富,網站相關的技術經過這些年的發展,已經細分到很細的方方面面,尤其對於大型網站