keepalivelinux
1. linux keepalive超時時間設多長合適
// Get
#cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
#cat /proc/sys/net/ipv4/tcp_keepalive_intvl
75
#cat /proc/sys/net/ipv4/tcp_keepalive_probes
9
// Set
#echo 1000> /proc/sys/net/ipv4/tcp_keepalive_time
#echo 50> /proc/sys/net/ipv4/tcp_keepalive_intvl
#echo 20> /proc/sys/net/ipv4/tcp_keepalive_probes
2. Linux上keepalive為什麼不起作用
/proc/sys/net/ipv4/tcp_keepalive_time
當keepalive起用的時候,TCP發送keepalive消息的頻度。預設是2小時。
/proc/sys/net/ipv4/tcp_keepalive_intvl
當探測沒有確認時,重新發送探測的頻度。預設是75秒。
/proc/sys/net/ipv4/tcp_keepalive_probes
在認定連接失效之前,發送多少個TCP的keepalive探測包。預設值是9。這個值乘以tcp_keepalive_intvl之後決定了,一個連接發送了keepalive之後可以有多少時間沒有回應。
tcp_keepalive_time(開啟keepalive的閑置時長)tcp_keepalive_intvl(keepalive探測包的發送間隔) 和tcp_keepalive_probes (如果對方不予應答,探測包的發送次數)
There are two ways to configure keepalive parameters inside the kernel via userspace commands:
procfs interface
sysctl interface
We mainly discuss how this is accomplished on the procfs interface because it's the most used, recommended and the easiest to understand. The sysctl interface, particularly regarding the sysctl(2) syscall and not the sysctl(8) tool, is only here for the purpose of background knowledge.
The procfs interface
This interface requires both sysctl and procfs to be built into the kernel, and procfs mounted somewhere in the filesystem (usually on/proc, as in the examples below). You can read the values for the actual parameters by "catting" files in /proc/sys/net/ipv4/directory:
# cat /proc/sys/net/ipv4/tcp_keepalive_time 7200
# cat /proc/sys/net/ipv4/tcp_keepalive_intvl 75
# cat /proc/sys/net/ipv4/tcp_keepalive_probes 9
The first two parameters are expressed in seconds, and the last is the pure number. This means that the keepalive routines wait for two hours (7200 secs) before sending the first keepalive probe, and then resend it every 75 seconds. If no ACK response is received for nine consecutive times, the connection is marked as broken.
Modifying this value is straightforward: you need to write new values into the files. Suppose you decide to configure the host so that keepalive starts after ten minutes of channel inactivity, and then send probes in intervals of one minute. Because of the high instability of our network trunk and the low value of the interval, suppose you also want to increase the number of probes to 20.
Here's how we would change the settings:
# echo 600 > /proc/sys/net/ipv4/tcp_keepalive_time
# echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl
# echo 20 > /proc/sys/net/ipv4/tcp_keepalive_probes
To be sure that all succeeds, recheck the files and confirm these new values are showing in place of the old ones.
這樣,上面的三個參數配置完畢。
3. linux雙機keepalive和heartbeat哪個好
Heartbeat簡介 Heartbeat心跳實戰試驗 hi/%BB%C6%D0%C4%B2%A8/blog/item/d120a74da0e7fd38afc3ab09 #vim ha(兩個主機名【最好用uname -n查看】) nodesev2 ping 222 222 #vim ha(兩個主機名【最好用uname -n查看】) nodesev2 ping 222.90.88.1測試機的IP(要寫外部的測試IP) #vim /etc/ha.d/authkeys(開啟驗證模式,這是安全方面的配置裡面有三種認證方式:crc md5 sha1) auth 1 1 crc #chmod 600 authkeys(不做此步,則heartbeat服務無法啟動) #vim /etc/ha.d/haresources(這個主要指明資源的來源,是遠端掛載) 在
4. linux keepalive是對多個socket有效嗎
伺服器端起了一個監視線程,利用select來檢測socket是否被關閉
5. linux tcp keepalive 如何 設置 參數
對
於一個已經建立的tcp連接。如果在keepalive_time時間內雙方沒有任何的數據包傳輸,則開啟keepalive功能的一端將發送
keepalive數據包,若沒有收到應答,則每隔keepalive_intvl時間再發送該數據包,發送keepalive_probes次。一直沒有
收到應答,則發送rst包關閉連接。若收到應答,則將計時器清零。
6. linux lvs 的keepalive權重怎麼配置
Lvs採用dr模型 前段兩台director,然後這兩台director裝上keepalived提供高可用,keepalived配置好後,會自動添加realserver以及vip. 後端nginx修改內核參數ar
7. 在LINUX中keepAlive是什麼意思
Apache是運行在Linux操作系統上的頭號Web伺服器。很多小地方都可以用來調整Apache的性能,並降低它對系統資源的影響。其中一個就是調整內存使用率,當然達到這一目的可能還是需要花點功夫的。例如,通過ps來確定httpd線程的內存使用率,可以輸入下面的命令:# ps -U apache -u apache uUSERPID %CPU %MEMVSZRSS TTYSTAT START TIME COMMANDapache130670.05.3 149704 54504 ?SOct071:53 /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DAPACHE2...上面這段輸出顯示了單個httpd進程使用了50 MB的RSS(駐留集大小)內存(或者非交換物理內存),以及149 MB的VSZ(虛擬)內存。這當然在很大程度上取決於你在Apache里載入和運行的模塊數量。這決不是一個固定的數字。由於這個數字里還包含了共享庫包,所以不是100%的准確。我們可以認為RSS數字的一半是httpd線程真正使用的內存數,這可能還有點保守,但是離我們的目的已經非常接近了。在本文里,我們假設每個httpd進程都在使用了27 MB內存。然後,你需要確定可以讓httpd真正使用的內存數。根據運行在機器上的其他進程,你可能希望要求50%的物理內存都供Apache使用。在一個裝有1GB內存的系統上,就有512MB的內存可以被劃分為多個27MB的內存,也就是大約19個並發的httpd內存。有些人堅持認為每個httpd 線程「真正」使用大約5MB的內存,所以從理論上講你可以把512MB的內存劃分出102個並發進程供Apache使用(要記住的是,除非你的網站需要極其巨大的流量,否則這種情況是非常罕見的)。在默認狀態下,Apache會分配最大256個並發客戶端連接,或者256個進程(每一個都對應一個請求)。按照這種設置,一個流量巨大的網站會在頃刻間崩潰(即使你假設每個進程佔用5MB內存,那也需要1.3GB的內存來滿足請求的數量)。如果不採取其它措施,系統會通過硬碟來嘗試使用交換空間以處理它無法在物理內存中完成的任務。其他可以調整的項目包括KeepAlive、KeepAliveTimeout和MaxKeepAliveRequests等設置。可以放在httpd.conf文件里的推薦設置有:ServerLimit 128MaxClients 128KeepAlive OnKeepAliveTimeout 2MaxKeepAliveRequests 100通過將KeepAliveTimeout從15秒減到2秒,可以增加MaxClients命令;19太小,而128要好得多。通過減少進程存活的秒數,你可以在相同的時間內允許更多的連接。當然,如果沒有真正的測試在背後支持,數字就是毫無意義的,這就是ab的作用之所在。使用ab對Apache配置文件(MaxClients等於 256、ServerLimit等於256、KeepAliveTimeout等於15)進行調整,使其能夠滿足1000個請求(100個連續請求並發產生)的調整方法如下。(在執行測試的時候要確保伺服器上有一個終端打開以觀察系統的負載。)$ ab -n 1000 -c 100 -k現在把上面的伺服器設置改為更加保守的設置,重新啟動Apache,試著再次測試(總是從遠程計算機上進行,而不是本機)。在這里的測試中,不同的設置導致執行所消耗的時間產生了一倍的差距(分別為27.8s和16.8s),但是負載的平均值為0.03和0.30。這可能會使得你的網站變得稍慢,但是會確保它不會在高負載的情況下崩潰。還要記住的是,你將需要進行多次測試,以便取得一個平均值。使用ab是測試調整Apache配置的一個極佳方法,應該在你每次做出影響性能的更改時使用它。