問(wèn)題已開(kāi)啟
(普通問(wèn)題)
probe調(diào)度上不去
測(cè)試的時(shí)候,同一個(gè)點(diǎn),一臺(tái)電腦調(diào)度上不去,另外一臺(tái)滿調(diào)度,這是什么原因,求科普。
提問(wèn)者: qaz712063 提問(wèn)時(shí)間: 2014-08-26
問(wèn)題答案
( 3 )
另外一臺(tái)電腦是USB1.0?USB1.1?那端口速率就不夠
回答者:
killer_haibo
回答時(shí)間:2014-08-26 10:47
7 7
窗口優(yōu)化。
回答者:
jiangjun7
回答時(shí)間:2014-08-26 15:54
9 11
有可能是有一臺(tái)電腦TCP窗口沒(méi)有進(jìn)行優(yōu)化
1. TCPWindowSize
TCPWindowSize的值表示TCP的窗口大小。TCP Receive Window(TCP數(shù)據(jù)接收緩沖)定義了發(fā)送端在沒(méi)有獲得接收端的確認(rèn)信息的狀態(tài)下可以發(fā)送的最大字節(jié)數(shù)。此數(shù)值越大,返回的確認(rèn)信息就越少,相應(yīng)的在發(fā)送端和接收端之間的通信就越好。此數(shù)值較小時(shí)可以降低發(fā)送端在等待接收端返回確認(rèn)信息時(shí)發(fā)生超時(shí)的可能性,但這將增加網(wǎng)絡(luò)流量,降低有效吞吐率。TCP在發(fā)送端和接收端之間動(dòng)態(tài)調(diào)整一個(gè)最大段長(zhǎng)度MSS(Maximum Segment Size)的整數(shù)倍。MSS在連接開(kāi)始建立時(shí)確定,由于TCP Receive Window被調(diào)整為MSS的整數(shù)倍,在數(shù)據(jù)傳輸中完全長(zhǎng)度的TCP數(shù)據(jù)段的比例增加,故而提高了網(wǎng)絡(luò)吞吐率。
缺省情況下,TCP將試圖根據(jù)MSS來(lái)優(yōu)化窗口大小,起始值為16KB,最大值為64KB。TCPWindowSize的最大值通常為65535字節(jié)(64KB),以太網(wǎng)最大段長(zhǎng)度為1460字節(jié),低于64KB的1460的最大整數(shù)倍為62420字節(jié),因而可以在注冊(cè)表中將TCPWindowSize設(shè)置為62420,作為高帶寬網(wǎng)絡(luò)中適用的性能優(yōu)化值。具體操作如下:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TCPWindowSize的REG_DWORD值,該值的范圍是從0到65535,將該值設(shè)置為62420。
2. TCP1323Opts
為了更高效地利用高帶寬網(wǎng)絡(luò),可以使用比上述TCP窗口大得多的TCP窗口大小,此特性是Windows 2000和Windows Server 2003中的新特性,稱為TCP Window Scaling,它將以前的65535字節(jié)(64KB)的限制提高到了1073741824字節(jié)(1GB)。在帶寬與延遲的乘積值很高的連接上(例如衛(wèi)星連接),可能需要將窗口的大小增加到64KB以上。使用TCP Window Scaling,系統(tǒng)可以允許確認(rèn)信息間更大數(shù)據(jù)量的傳輸,增加了網(wǎng)絡(luò)吞吐量及性能。發(fā)送端和接收端往返通信所需的時(shí)間被稱為回環(huán)時(shí)間(RTT)。TCP Window Scaling僅在TCP連接的雙方都開(kāi)啟時(shí)才真正有效。TCP有一個(gè)時(shí)間戳選項(xiàng),通過(guò)更加頻繁地計(jì)算來(lái)提高RTT值的估測(cè)值,此選項(xiàng)特別有助于估測(cè)更長(zhǎng)距離的廣域網(wǎng)上連接的RTT值,并更加精確地調(diào)整TCP重發(fā)超時(shí)時(shí)間。時(shí)間戳在TCP報(bào)頭提供了兩個(gè)區(qū)域,一個(gè)記錄開(kāi)始重發(fā)的時(shí)間,另一個(gè)記錄接收到的時(shí)間。時(shí)間戳對(duì)于TCP Window Scaling,即確認(rèn)信息收到前的大數(shù)據(jù)包傳送特別有用,激活時(shí)間戳僅僅在每個(gè)數(shù)據(jù)包的頭部增加12字節(jié),對(duì)網(wǎng)絡(luò)流量的影響微乎其微。數(shù)據(jù)完整性與數(shù)據(jù)吞吐率最大化哪個(gè)更為重要是個(gè)需要評(píng)估的問(wèn)題。在某些環(huán)境中,例如視頻流傳輸,需要更大的TCP窗口,這是最重要的,而數(shù)據(jù)完整性排在第二位。在這種環(huán)境中,TCP Window Scaling可以不打開(kāi)時(shí)間戳。當(dāng)發(fā)送端和接收端均激活TCP Window Scaling和時(shí)間戳?xí)r,此特性才有效。不過(guò),若在發(fā)包時(shí)加入了時(shí)間戳,經(jīng)過(guò)NAT之后,如果前面相同的端口被使用過(guò),且時(shí)間戳大于這個(gè)連接發(fā)出的SYN中的時(shí)間戳,就會(huì)導(dǎo)致服務(wù)器忽略該SYN,表現(xiàn)為用戶無(wú)法正常完成TCP的3次握手。初始時(shí)生成小的TCP窗口,之后窗口大小將按照內(nèi)部算法增大。具體操作如下:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TCP1323Opts的REG_DWORD值,該值的具體含義為:0(缺省值)表示禁用TCP Window Scaling和時(shí)間戳;1表示只啟用TCP Window Scaling;2表示只啟用時(shí)間戳;3表示同時(shí)啟用TCP Window Scaling和時(shí)間戳。TCP1323Opts設(shè)置為激活TCP Window Scaling后,可以將上文中的注冊(cè)表項(xiàng)TCPWindowSize的值增大,最大能達(dá)到1GB,為了達(dá)到最佳性能,這里的值最好設(shè)置成MSS的倍數(shù),推薦值為256960字節(jié)。
3. TCP 控制塊表
對(duì)于每個(gè)TCP連接,控制變量保存在一個(gè)稱為TCP控制塊(TCB)的內(nèi)存塊中。TCB表的大小由注冊(cè)表項(xiàng)MaxHashTableSize控制。在活動(dòng)連接很多的系統(tǒng)中,設(shè)定一個(gè)較大的表可以降低系統(tǒng)定位TCB表的時(shí)間。在TCB表上分區(qū)可以降低對(duì)表的訪問(wèn)的爭(zhēng)奪。增加分區(qū)的數(shù)量,TCP的性能會(huì)得到優(yōu)化,特別是在多處理器的系統(tǒng)上。注冊(cè)表項(xiàng)NumTcbTablePartitions控制分區(qū)的數(shù)量,默認(rèn)是處理器個(gè)數(shù)的平方。TCB通常預(yù)置在內(nèi)存中,以防止TCP反復(fù)連接和斷開(kāi)時(shí),TCB反復(fù)重新定位浪費(fèi)時(shí)間,這種緩沖的方式促進(jìn)了內(nèi)存管理,但同時(shí)也限制了同一時(shí)刻允許的TCP連接數(shù)量。注冊(cè)表項(xiàng)MaxFreeTcbs決定了處于空閑等待狀態(tài)的TCB重新可用之前的連接數(shù)量,在NT架構(gòu)中常設(shè)置成高于默認(rèn)值,以確保有足夠的預(yù)置的TCB。從Windows 2000開(kāi)始添加了一個(gè)新特性,降低超出預(yù)置TCB運(yùn)行的可能性。如果處于等待狀態(tài)的連接多于MaxFreeTWTcbs中的設(shè)置,所有等待時(shí)間超過(guò)60秒的連接將被強(qiáng)制關(guān)閉,以后再次啟用。此特性合并到Windows 2000 Server和Windows Server 2003后,MaxFreeTcbs將不再用于優(yōu)化性能。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為MaxHashTableSize的REG_DWORD值,該值的范圍是從1到65536,并且必須為2的N次方,缺省值為512,建議設(shè)為8192。然后在Parameters子鍵下創(chuàng)建或修改名為NumTcbTablePartitions的REG_DWORD值,該值的范圍是從1到65536,并且必須為2的N次方,缺省值為處理器個(gè)數(shù)的平方,建議設(shè)為處理器核心數(shù)的4倍。
4. TcpTimedWaitDelay
TcpTimedWaitDelay的值表示系統(tǒng)釋放已關(guān)閉的TCP連接并復(fù)用其資源之前,必須等待的時(shí)間。這段時(shí)間間隔就是以前的Blog中提到的TIME_WAIT狀態(tài)(2MSL,數(shù)據(jù)包最長(zhǎng)生命周期的兩倍狀態(tài))。如果系統(tǒng)顯示大量連接處于TIME_WAIT狀態(tài),則會(huì)導(dǎo)致并發(fā)量與吞吐量的嚴(yán)重下降,通過(guò)減小該項(xiàng)的值,系統(tǒng)可以更快地釋放已關(guān)閉的連接,從而為新連接提供更多的資源,特別是對(duì)于高并發(fā)短連接的Server具有積極的意義。
該項(xiàng)的缺省值是240,即等待4分鐘后釋放資源;系統(tǒng)支持的最小值為30,即等待時(shí)間為30秒。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TcpTimedWaitDelay的REG_DWORD值,該值的范圍是從0到300,建議將該值設(shè)置為30。
5. MaxUserPort
MaxUserPort的值表示當(dāng)應(yīng)用程序向系統(tǒng)請(qǐng)求可用的端口時(shí),TCP/IP可分配的最大端口號(hào)。如果系統(tǒng)顯示建立連接時(shí)出現(xiàn)異常,那么有可能是由于匿名(臨時(shí))端口數(shù)不夠?qū)е碌,特別是當(dāng)系統(tǒng)打開(kāi)大量端口來(lái)與Web service、數(shù)據(jù)庫(kù)或其他遠(yuǎn)程資源建立連接時(shí)。
該項(xiàng)的缺省值是十進(jìn)制的5000,這也是系統(tǒng)允許的最小值。Windows默認(rèn)為匿名(臨時(shí))端口保留的端口號(hào)范圍是從1024到5000。為了獲得更高的并發(fā)量,建議將該值至少設(shè)為32768以上,甚至設(shè)為理論最大值65534,特別是對(duì)于模擬高并發(fā)測(cè)試環(huán)境的Client具有積極的意義。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為MaxUserPort的REG_DWORD值,該值的范圍是從5000到65534,缺省值為5000,建議將該值設(shè)置為65534。
6. 動(dòng)態(tài)儲(chǔ)備
動(dòng)態(tài)儲(chǔ)備的值使系統(tǒng)能自動(dòng)調(diào)整其配置,以接受大量突發(fā)的連接請(qǐng)求。如果同時(shí)接收到大量連接請(qǐng)求,超出了系統(tǒng)的處理能力,那么動(dòng)態(tài)儲(chǔ)備就會(huì)自動(dòng)增大系統(tǒng)支持的暫掛連接的數(shù)量(即Client已請(qǐng)求而Server尚未處理的等待連接數(shù),TCP連接的總數(shù)包括已連接數(shù)與等待連接數(shù)),從而可減少連接失敗的數(shù)量。系統(tǒng)的處理能力和支持的暫掛連接的數(shù)量不足時(shí),Client的連接請(qǐng)求將直接被拒絕。
缺省情況下,Windows 不啟用動(dòng)態(tài)儲(chǔ)備,可以通過(guò)以下操作進(jìn)行開(kāi)啟和設(shè)置:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAFDParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改下列名稱的REG_DWORD值。
EnableDynamicBacklog,值為1,表示開(kāi)啟動(dòng)態(tài)儲(chǔ)備。
MinimumDynamicBacklog,值為128,表示支持的最小暫掛連接的數(shù)量為128。
MaximumDynamicBacklog,值為2048,表示支持的最大暫掛連接的數(shù)量為2048。對(duì)于高并發(fā)短連接的Server,建議最大值設(shè)為1024及以上。
DynamicBacklogGrowthDelta,值為128,表示支持的暫掛連接的數(shù)量的增量為128,即數(shù)量不足時(shí)自增長(zhǎng)128,直到達(dá)到設(shè)定的最大值,如2048。
7. KeepAliveTime
KeepAliveTime的值控制系統(tǒng)嘗試驗(yàn)證空閑連接是否仍然完好的頻率。如果該連接在一段時(shí)間內(nèi)沒(méi)有活動(dòng),那么系統(tǒng)會(huì)發(fā)送保持連接的信號(hào),如果網(wǎng)絡(luò)正常并且接收方是活動(dòng)的,它就會(huì)響應(yīng)。如果需要對(duì)丟失接收方的情況敏感,也就是說(shuō)需要更快地發(fā)現(xiàn)是否丟失了接收方,請(qǐng)考慮減小該值。而如果長(zhǎng)期不活動(dòng)的空閑連接的出現(xiàn)次數(shù)較多,但丟失接收方的情況出現(xiàn)較少,那么可能需要增大該值以減少開(kāi)銷。
缺省情況下,如果空閑連接在7200000毫秒(2小時(shí))內(nèi)沒(méi)有活動(dòng),系統(tǒng)就會(huì)發(fā)送保持連接的消息。 通常建議把該值設(shè)為1800000毫秒,從而丟失的連接會(huì)在30分鐘內(nèi)被檢測(cè)到。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為KeepAliveTime的REG_DWORD值,為該值設(shè)置適當(dāng)?shù)暮撩霐?shù)。
8. KeepAliveInterval
KeepAliveInterval的值表示未收到另一方對(duì)“保持連接”信號(hào)的響應(yīng)時(shí),系統(tǒng)重復(fù)發(fā)送“保持連接”信號(hào)的頻率。在無(wú)任何響應(yīng)的情況下,連續(xù)發(fā)送“保持連接”信號(hào)的次數(shù)超過(guò)TcpMaxDataRetransmissions(下文將介紹)的值時(shí),將放棄該連接。如果網(wǎng)絡(luò)環(huán)境較差,允許較長(zhǎng)的響應(yīng)時(shí)間,則考慮增大該值以減少開(kāi)銷;如果需要盡快驗(yàn)證是否已丟失接收方,則考慮減小該值或TcpMaxDataRetransmissions值。
缺省情況下,在未收到響應(yīng)而重新發(fā)送“保持連接”的信號(hào)之前,系統(tǒng)會(huì)等待1000毫秒(1秒),可以根據(jù)具體需求修改,具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為KeepAliveInterval的REG_DWORD值,為該值設(shè)置適當(dāng)?shù)暮撩霐?shù)。
9. TcpMaxDataRetransmissions
TcpMaxDataRetransmissions的值表示TCP數(shù)據(jù)重發(fā),系統(tǒng)在現(xiàn)有連接上對(duì)無(wú)應(yīng)答的數(shù)據(jù)段進(jìn)行重發(fā)的次數(shù)。如果網(wǎng)絡(luò)環(huán)境很差,可能需要提高該值以保持有效的通信,確保接收方收到數(shù)據(jù);如果網(wǎng)絡(luò)環(huán)境很好,或者通常是由于丟失接收方而導(dǎo)致數(shù)據(jù)的丟失,那么可以減小該值以減少驗(yàn)證接收方是否丟失所花費(fèi)的時(shí)間和開(kāi)銷。
缺省情況下,系統(tǒng)會(huì)重新發(fā)送未返回應(yīng)答的數(shù)據(jù)段5次,可以根據(jù)具體需求修改,具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TcpMaxDataRetransmissions的REG_DWORD值,該值的范圍是從0到4294967295,缺省值為5,根據(jù)實(shí)際情況進(jìn)行設(shè)置。
10. TcpMaxConnectRetransmisstions
TcpMaxConnectRetransmisstions的值表示TCP連接重發(fā),TCP退出前重發(fā)非確認(rèn)連接請(qǐng)求(SYN)的次數(shù)。對(duì)于每次嘗試,重發(fā)超時(shí)是成功重發(fā)的兩倍。在Windows Server 2003中默認(rèn)超時(shí)次數(shù)是2,默認(rèn)超時(shí)時(shí)間為3秒(在注冊(cè)表項(xiàng)TCPInitialRTT中)。速度較慢的WAN連接中超時(shí)時(shí)間可相應(yīng)增加,不同環(huán)境中可能會(huì)有不同的最優(yōu)化設(shè)置,需要在實(shí)際環(huán)境中測(cè)試確定。超時(shí)時(shí)間不要設(shè)置太大否則將不會(huì)發(fā)生網(wǎng)絡(luò)連接超時(shí)時(shí)間。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TcpMaxConnectRetransmisstions的REG_DWORD值,該值的范圍是從0到255,缺省值為2,根據(jù)實(shí)際情況進(jìn)行設(shè)置。然后在Parameters子鍵下創(chuàng)建或修改名為TCPInitialRTT的REG_DWORD值,同樣根據(jù)實(shí)際情況進(jìn)行設(shè)置。
11. TcpAckFrequency
TcpAckFrequency的值表示系統(tǒng)發(fā)送應(yīng)答消息的頻率。如果值為2,那么系統(tǒng)將在接收到2個(gè)分段之后發(fā)送應(yīng)答,或是在接收到1個(gè)分段但在200毫秒內(nèi)沒(méi)有接收到任何其他分段的情況下發(fā)送應(yīng)答;如果值為3,那么系統(tǒng)將在接收到3個(gè)分段之后發(fā)送應(yīng)答,或是在接收到1個(gè)或2個(gè)分段但在200毫秒內(nèi)沒(méi)有接收到任何其他分段的情況下發(fā)送應(yīng)答,以此類推。如果要通過(guò)消除應(yīng)答延遲來(lái)縮短響應(yīng)時(shí)間,那么建議將該值設(shè)為1。在此情況下,系統(tǒng)會(huì)立即發(fā)送對(duì)每個(gè)分段的應(yīng)答;如果連接主要用于傳輸大量數(shù)據(jù),而200毫秒的延遲并不重要,那么可以減小該值以降低應(yīng)答的開(kāi)銷。
缺省情況下,系統(tǒng)將該值設(shè)為2,即每隔一個(gè)分段應(yīng)答一次。該值的有效范圍是0到255,其中0表示使用缺省值2,可以根據(jù)具體需求修改,具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParametersInterfacesxx(xx由網(wǎng)絡(luò)適配器決定)注冊(cè)表子鍵,在xx子鍵下創(chuàng)建或修改名為TcpAckFrequency的REG_DWORD值,該值的范圍是從1到13,缺省值為2,根據(jù)希望每發(fā)送幾個(gè)分段返回一個(gè)應(yīng)答而設(shè)置該值,建議百兆網(wǎng)絡(luò)設(shè)為5,千兆網(wǎng)絡(luò)設(shè)為13。
1. TCPWindowSize
TCPWindowSize的值表示TCP的窗口大小。TCP Receive Window(TCP數(shù)據(jù)接收緩沖)定義了發(fā)送端在沒(méi)有獲得接收端的確認(rèn)信息的狀態(tài)下可以發(fā)送的最大字節(jié)數(shù)。此數(shù)值越大,返回的確認(rèn)信息就越少,相應(yīng)的在發(fā)送端和接收端之間的通信就越好。此數(shù)值較小時(shí)可以降低發(fā)送端在等待接收端返回確認(rèn)信息時(shí)發(fā)生超時(shí)的可能性,但這將增加網(wǎng)絡(luò)流量,降低有效吞吐率。TCP在發(fā)送端和接收端之間動(dòng)態(tài)調(diào)整一個(gè)最大段長(zhǎng)度MSS(Maximum Segment Size)的整數(shù)倍。MSS在連接開(kāi)始建立時(shí)確定,由于TCP Receive Window被調(diào)整為MSS的整數(shù)倍,在數(shù)據(jù)傳輸中完全長(zhǎng)度的TCP數(shù)據(jù)段的比例增加,故而提高了網(wǎng)絡(luò)吞吐率。
缺省情況下,TCP將試圖根據(jù)MSS來(lái)優(yōu)化窗口大小,起始值為16KB,最大值為64KB。TCPWindowSize的最大值通常為65535字節(jié)(64KB),以太網(wǎng)最大段長(zhǎng)度為1460字節(jié),低于64KB的1460的最大整數(shù)倍為62420字節(jié),因而可以在注冊(cè)表中將TCPWindowSize設(shè)置為62420,作為高帶寬網(wǎng)絡(luò)中適用的性能優(yōu)化值。具體操作如下:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TCPWindowSize的REG_DWORD值,該值的范圍是從0到65535,將該值設(shè)置為62420。
2. TCP1323Opts
為了更高效地利用高帶寬網(wǎng)絡(luò),可以使用比上述TCP窗口大得多的TCP窗口大小,此特性是Windows 2000和Windows Server 2003中的新特性,稱為TCP Window Scaling,它將以前的65535字節(jié)(64KB)的限制提高到了1073741824字節(jié)(1GB)。在帶寬與延遲的乘積值很高的連接上(例如衛(wèi)星連接),可能需要將窗口的大小增加到64KB以上。使用TCP Window Scaling,系統(tǒng)可以允許確認(rèn)信息間更大數(shù)據(jù)量的傳輸,增加了網(wǎng)絡(luò)吞吐量及性能。發(fā)送端和接收端往返通信所需的時(shí)間被稱為回環(huán)時(shí)間(RTT)。TCP Window Scaling僅在TCP連接的雙方都開(kāi)啟時(shí)才真正有效。TCP有一個(gè)時(shí)間戳選項(xiàng),通過(guò)更加頻繁地計(jì)算來(lái)提高RTT值的估測(cè)值,此選項(xiàng)特別有助于估測(cè)更長(zhǎng)距離的廣域網(wǎng)上連接的RTT值,并更加精確地調(diào)整TCP重發(fā)超時(shí)時(shí)間。時(shí)間戳在TCP報(bào)頭提供了兩個(gè)區(qū)域,一個(gè)記錄開(kāi)始重發(fā)的時(shí)間,另一個(gè)記錄接收到的時(shí)間。時(shí)間戳對(duì)于TCP Window Scaling,即確認(rèn)信息收到前的大數(shù)據(jù)包傳送特別有用,激活時(shí)間戳僅僅在每個(gè)數(shù)據(jù)包的頭部增加12字節(jié),對(duì)網(wǎng)絡(luò)流量的影響微乎其微。數(shù)據(jù)完整性與數(shù)據(jù)吞吐率最大化哪個(gè)更為重要是個(gè)需要評(píng)估的問(wèn)題。在某些環(huán)境中,例如視頻流傳輸,需要更大的TCP窗口,這是最重要的,而數(shù)據(jù)完整性排在第二位。在這種環(huán)境中,TCP Window Scaling可以不打開(kāi)時(shí)間戳。當(dāng)發(fā)送端和接收端均激活TCP Window Scaling和時(shí)間戳?xí)r,此特性才有效。不過(guò),若在發(fā)包時(shí)加入了時(shí)間戳,經(jīng)過(guò)NAT之后,如果前面相同的端口被使用過(guò),且時(shí)間戳大于這個(gè)連接發(fā)出的SYN中的時(shí)間戳,就會(huì)導(dǎo)致服務(wù)器忽略該SYN,表現(xiàn)為用戶無(wú)法正常完成TCP的3次握手。初始時(shí)生成小的TCP窗口,之后窗口大小將按照內(nèi)部算法增大。具體操作如下:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TCP1323Opts的REG_DWORD值,該值的具體含義為:0(缺省值)表示禁用TCP Window Scaling和時(shí)間戳;1表示只啟用TCP Window Scaling;2表示只啟用時(shí)間戳;3表示同時(shí)啟用TCP Window Scaling和時(shí)間戳。TCP1323Opts設(shè)置為激活TCP Window Scaling后,可以將上文中的注冊(cè)表項(xiàng)TCPWindowSize的值增大,最大能達(dá)到1GB,為了達(dá)到最佳性能,這里的值最好設(shè)置成MSS的倍數(shù),推薦值為256960字節(jié)。
3. TCP 控制塊表
對(duì)于每個(gè)TCP連接,控制變量保存在一個(gè)稱為TCP控制塊(TCB)的內(nèi)存塊中。TCB表的大小由注冊(cè)表項(xiàng)MaxHashTableSize控制。在活動(dòng)連接很多的系統(tǒng)中,設(shè)定一個(gè)較大的表可以降低系統(tǒng)定位TCB表的時(shí)間。在TCB表上分區(qū)可以降低對(duì)表的訪問(wèn)的爭(zhēng)奪。增加分區(qū)的數(shù)量,TCP的性能會(huì)得到優(yōu)化,特別是在多處理器的系統(tǒng)上。注冊(cè)表項(xiàng)NumTcbTablePartitions控制分區(qū)的數(shù)量,默認(rèn)是處理器個(gè)數(shù)的平方。TCB通常預(yù)置在內(nèi)存中,以防止TCP反復(fù)連接和斷開(kāi)時(shí),TCB反復(fù)重新定位浪費(fèi)時(shí)間,這種緩沖的方式促進(jìn)了內(nèi)存管理,但同時(shí)也限制了同一時(shí)刻允許的TCP連接數(shù)量。注冊(cè)表項(xiàng)MaxFreeTcbs決定了處于空閑等待狀態(tài)的TCB重新可用之前的連接數(shù)量,在NT架構(gòu)中常設(shè)置成高于默認(rèn)值,以確保有足夠的預(yù)置的TCB。從Windows 2000開(kāi)始添加了一個(gè)新特性,降低超出預(yù)置TCB運(yùn)行的可能性。如果處于等待狀態(tài)的連接多于MaxFreeTWTcbs中的設(shè)置,所有等待時(shí)間超過(guò)60秒的連接將被強(qiáng)制關(guān)閉,以后再次啟用。此特性合并到Windows 2000 Server和Windows Server 2003后,MaxFreeTcbs將不再用于優(yōu)化性能。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為MaxHashTableSize的REG_DWORD值,該值的范圍是從1到65536,并且必須為2的N次方,缺省值為512,建議設(shè)為8192。然后在Parameters子鍵下創(chuàng)建或修改名為NumTcbTablePartitions的REG_DWORD值,該值的范圍是從1到65536,并且必須為2的N次方,缺省值為處理器個(gè)數(shù)的平方,建議設(shè)為處理器核心數(shù)的4倍。
4. TcpTimedWaitDelay
TcpTimedWaitDelay的值表示系統(tǒng)釋放已關(guān)閉的TCP連接并復(fù)用其資源之前,必須等待的時(shí)間。這段時(shí)間間隔就是以前的Blog中提到的TIME_WAIT狀態(tài)(2MSL,數(shù)據(jù)包最長(zhǎng)生命周期的兩倍狀態(tài))。如果系統(tǒng)顯示大量連接處于TIME_WAIT狀態(tài),則會(huì)導(dǎo)致并發(fā)量與吞吐量的嚴(yán)重下降,通過(guò)減小該項(xiàng)的值,系統(tǒng)可以更快地釋放已關(guān)閉的連接,從而為新連接提供更多的資源,特別是對(duì)于高并發(fā)短連接的Server具有積極的意義。
該項(xiàng)的缺省值是240,即等待4分鐘后釋放資源;系統(tǒng)支持的最小值為30,即等待時(shí)間為30秒。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TcpTimedWaitDelay的REG_DWORD值,該值的范圍是從0到300,建議將該值設(shè)置為30。
5. MaxUserPort
MaxUserPort的值表示當(dāng)應(yīng)用程序向系統(tǒng)請(qǐng)求可用的端口時(shí),TCP/IP可分配的最大端口號(hào)。如果系統(tǒng)顯示建立連接時(shí)出現(xiàn)異常,那么有可能是由于匿名(臨時(shí))端口數(shù)不夠?qū)е碌,特別是當(dāng)系統(tǒng)打開(kāi)大量端口來(lái)與Web service、數(shù)據(jù)庫(kù)或其他遠(yuǎn)程資源建立連接時(shí)。
該項(xiàng)的缺省值是十進(jìn)制的5000,這也是系統(tǒng)允許的最小值。Windows默認(rèn)為匿名(臨時(shí))端口保留的端口號(hào)范圍是從1024到5000。為了獲得更高的并發(fā)量,建議將該值至少設(shè)為32768以上,甚至設(shè)為理論最大值65534,特別是對(duì)于模擬高并發(fā)測(cè)試環(huán)境的Client具有積極的意義。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為MaxUserPort的REG_DWORD值,該值的范圍是從5000到65534,缺省值為5000,建議將該值設(shè)置為65534。
6. 動(dòng)態(tài)儲(chǔ)備
動(dòng)態(tài)儲(chǔ)備的值使系統(tǒng)能自動(dòng)調(diào)整其配置,以接受大量突發(fā)的連接請(qǐng)求。如果同時(shí)接收到大量連接請(qǐng)求,超出了系統(tǒng)的處理能力,那么動(dòng)態(tài)儲(chǔ)備就會(huì)自動(dòng)增大系統(tǒng)支持的暫掛連接的數(shù)量(即Client已請(qǐng)求而Server尚未處理的等待連接數(shù),TCP連接的總數(shù)包括已連接數(shù)與等待連接數(shù)),從而可減少連接失敗的數(shù)量。系統(tǒng)的處理能力和支持的暫掛連接的數(shù)量不足時(shí),Client的連接請(qǐng)求將直接被拒絕。
缺省情況下,Windows 不啟用動(dòng)態(tài)儲(chǔ)備,可以通過(guò)以下操作進(jìn)行開(kāi)啟和設(shè)置:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAFDParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改下列名稱的REG_DWORD值。
EnableDynamicBacklog,值為1,表示開(kāi)啟動(dòng)態(tài)儲(chǔ)備。
MinimumDynamicBacklog,值為128,表示支持的最小暫掛連接的數(shù)量為128。
MaximumDynamicBacklog,值為2048,表示支持的最大暫掛連接的數(shù)量為2048。對(duì)于高并發(fā)短連接的Server,建議最大值設(shè)為1024及以上。
DynamicBacklogGrowthDelta,值為128,表示支持的暫掛連接的數(shù)量的增量為128,即數(shù)量不足時(shí)自增長(zhǎng)128,直到達(dá)到設(shè)定的最大值,如2048。
7. KeepAliveTime
KeepAliveTime的值控制系統(tǒng)嘗試驗(yàn)證空閑連接是否仍然完好的頻率。如果該連接在一段時(shí)間內(nèi)沒(méi)有活動(dòng),那么系統(tǒng)會(huì)發(fā)送保持連接的信號(hào),如果網(wǎng)絡(luò)正常并且接收方是活動(dòng)的,它就會(huì)響應(yīng)。如果需要對(duì)丟失接收方的情況敏感,也就是說(shuō)需要更快地發(fā)現(xiàn)是否丟失了接收方,請(qǐng)考慮減小該值。而如果長(zhǎng)期不活動(dòng)的空閑連接的出現(xiàn)次數(shù)較多,但丟失接收方的情況出現(xiàn)較少,那么可能需要增大該值以減少開(kāi)銷。
缺省情況下,如果空閑連接在7200000毫秒(2小時(shí))內(nèi)沒(méi)有活動(dòng),系統(tǒng)就會(huì)發(fā)送保持連接的消息。 通常建議把該值設(shè)為1800000毫秒,從而丟失的連接會(huì)在30分鐘內(nèi)被檢測(cè)到。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為KeepAliveTime的REG_DWORD值,為該值設(shè)置適當(dāng)?shù)暮撩霐?shù)。
8. KeepAliveInterval
KeepAliveInterval的值表示未收到另一方對(duì)“保持連接”信號(hào)的響應(yīng)時(shí),系統(tǒng)重復(fù)發(fā)送“保持連接”信號(hào)的頻率。在無(wú)任何響應(yīng)的情況下,連續(xù)發(fā)送“保持連接”信號(hào)的次數(shù)超過(guò)TcpMaxDataRetransmissions(下文將介紹)的值時(shí),將放棄該連接。如果網(wǎng)絡(luò)環(huán)境較差,允許較長(zhǎng)的響應(yīng)時(shí)間,則考慮增大該值以減少開(kāi)銷;如果需要盡快驗(yàn)證是否已丟失接收方,則考慮減小該值或TcpMaxDataRetransmissions值。
缺省情況下,在未收到響應(yīng)而重新發(fā)送“保持連接”的信號(hào)之前,系統(tǒng)會(huì)等待1000毫秒(1秒),可以根據(jù)具體需求修改,具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為KeepAliveInterval的REG_DWORD值,為該值設(shè)置適當(dāng)?shù)暮撩霐?shù)。
9. TcpMaxDataRetransmissions
TcpMaxDataRetransmissions的值表示TCP數(shù)據(jù)重發(fā),系統(tǒng)在現(xiàn)有連接上對(duì)無(wú)應(yīng)答的數(shù)據(jù)段進(jìn)行重發(fā)的次數(shù)。如果網(wǎng)絡(luò)環(huán)境很差,可能需要提高該值以保持有效的通信,確保接收方收到數(shù)據(jù);如果網(wǎng)絡(luò)環(huán)境很好,或者通常是由于丟失接收方而導(dǎo)致數(shù)據(jù)的丟失,那么可以減小該值以減少驗(yàn)證接收方是否丟失所花費(fèi)的時(shí)間和開(kāi)銷。
缺省情況下,系統(tǒng)會(huì)重新發(fā)送未返回應(yīng)答的數(shù)據(jù)段5次,可以根據(jù)具體需求修改,具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TcpMaxDataRetransmissions的REG_DWORD值,該值的范圍是從0到4294967295,缺省值為5,根據(jù)實(shí)際情況進(jìn)行設(shè)置。
10. TcpMaxConnectRetransmisstions
TcpMaxConnectRetransmisstions的值表示TCP連接重發(fā),TCP退出前重發(fā)非確認(rèn)連接請(qǐng)求(SYN)的次數(shù)。對(duì)于每次嘗試,重發(fā)超時(shí)是成功重發(fā)的兩倍。在Windows Server 2003中默認(rèn)超時(shí)次數(shù)是2,默認(rèn)超時(shí)時(shí)間為3秒(在注冊(cè)表項(xiàng)TCPInitialRTT中)。速度較慢的WAN連接中超時(shí)時(shí)間可相應(yīng)增加,不同環(huán)境中可能會(huì)有不同的最優(yōu)化設(shè)置,需要在實(shí)際環(huán)境中測(cè)試確定。超時(shí)時(shí)間不要設(shè)置太大否則將不會(huì)發(fā)生網(wǎng)絡(luò)連接超時(shí)時(shí)間。具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParameters注冊(cè)表子鍵,在Parameters子鍵下創(chuàng)建或修改名為TcpMaxConnectRetransmisstions的REG_DWORD值,該值的范圍是從0到255,缺省值為2,根據(jù)實(shí)際情況進(jìn)行設(shè)置。然后在Parameters子鍵下創(chuàng)建或修改名為TCPInitialRTT的REG_DWORD值,同樣根據(jù)實(shí)際情況進(jìn)行設(shè)置。
11. TcpAckFrequency
TcpAckFrequency的值表示系統(tǒng)發(fā)送應(yīng)答消息的頻率。如果值為2,那么系統(tǒng)將在接收到2個(gè)分段之后發(fā)送應(yīng)答,或是在接收到1個(gè)分段但在200毫秒內(nèi)沒(méi)有接收到任何其他分段的情況下發(fā)送應(yīng)答;如果值為3,那么系統(tǒng)將在接收到3個(gè)分段之后發(fā)送應(yīng)答,或是在接收到1個(gè)或2個(gè)分段但在200毫秒內(nèi)沒(méi)有接收到任何其他分段的情況下發(fā)送應(yīng)答,以此類推。如果要通過(guò)消除應(yīng)答延遲來(lái)縮短響應(yīng)時(shí)間,那么建議將該值設(shè)為1。在此情況下,系統(tǒng)會(huì)立即發(fā)送對(duì)每個(gè)分段的應(yīng)答;如果連接主要用于傳輸大量數(shù)據(jù),而200毫秒的延遲并不重要,那么可以減小該值以降低應(yīng)答的開(kāi)銷。
缺省情況下,系統(tǒng)將該值設(shè)為2,即每隔一個(gè)分段應(yīng)答一次。該值的有效范圍是0到255,其中0表示使用缺省值2,可以根據(jù)具體需求修改,具體操作:
瀏覽至HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTCPIPParametersInterfacesxx(xx由網(wǎng)絡(luò)適配器決定)注冊(cè)表子鍵,在xx子鍵下創(chuàng)建或修改名為TcpAckFrequency的REG_DWORD值,該值的范圍是從1到13,缺省值為2,根據(jù)希望每發(fā)送幾個(gè)分段返回一個(gè)應(yīng)答而設(shè)置該值,建議百兆網(wǎng)絡(luò)設(shè)為5,千兆網(wǎng)絡(luò)設(shè)為13。
回答者:
21825402
回答時(shí)間:2014-08-26 16:14
10 11
• 南京欣網(wǎng)通信科技股份有限公司
聘:后臺(tái)網(wǎng)優(yōu)工程師(J10066)
需求人數(shù):1 人 地點(diǎn):榆林市
• 西安盈科思泰網(wǎng)絡(luò)技術(shù)有限公司 聘:湖北4/5G中高級(jí)網(wǎng)優(yōu)工程師
需求人數(shù):2 人 地點(diǎn):武漢市
• 重慶信科通信工程有限公司 聘:南昌電信中興原廠高級(jí)
需求人數(shù):2 人 地點(diǎn):南昌市
• 杭州東信網(wǎng)絡(luò)技術(shù)有限公司 聘:LTE/5G網(wǎng)絡(luò)中高級(jí)優(yōu)化工程師
需求人數(shù):2 人 地點(diǎn):上海市
• 南京華蘇科技有限公司 聘:中興網(wǎng)優(yōu)測(cè)試工程師(河南)
需求人數(shù):15 人 地點(diǎn):鄭州市,商丘市,濟(jì)源市,開(kāi)封市
• 重慶愛(ài)信思科技有限責(zé)任公司 聘:初中級(jí)OTN/PTN調(diào)測(cè)工程師
需求人數(shù):5 人 地點(diǎn):唐山市,承德市,張家口市
• 福建省鴻官通信工程有限公司 聘:網(wǎng)絡(luò)優(yōu)化工程師
需求人數(shù):2 人 地點(diǎn):牡丹江市
• 成都旗訊通信技術(shù)有限公司 聘:電聯(lián)招聘督導(dǎo)、傳輸、維護(hù)轉(zhuǎn)網(wǎng)優(yōu)
需求人數(shù):12 人 地點(diǎn):浙江省,江蘇省,河北省,山西省,遼寧省
• 嘉環(huán)科技股份有限公司 聘:湖南電信原廠優(yōu)化招聘
需求人數(shù):10 人 地點(diǎn):長(zhǎng)沙市,永州市,郴州市,衡陽(yáng)市
• 安徽引途科技有限公司 聘:皖北地區(qū)單驗(yàn)測(cè)試工程師
需求人數(shù):20 人 地點(diǎn):安徽省
需求人數(shù):1 人 地點(diǎn):榆林市
• 西安盈科思泰網(wǎng)絡(luò)技術(shù)有限公司 聘:湖北4/5G中高級(jí)網(wǎng)優(yōu)工程師
需求人數(shù):2 人 地點(diǎn):武漢市
• 重慶信科通信工程有限公司 聘:南昌電信中興原廠高級(jí)
需求人數(shù):2 人 地點(diǎn):南昌市
• 杭州東信網(wǎng)絡(luò)技術(shù)有限公司 聘:LTE/5G網(wǎng)絡(luò)中高級(jí)優(yōu)化工程師
需求人數(shù):2 人 地點(diǎn):上海市
• 南京華蘇科技有限公司 聘:中興網(wǎng)優(yōu)測(cè)試工程師(河南)
需求人數(shù):15 人 地點(diǎn):鄭州市,商丘市,濟(jì)源市,開(kāi)封市
• 重慶愛(ài)信思科技有限責(zé)任公司 聘:初中級(jí)OTN/PTN調(diào)測(cè)工程師
需求人數(shù):5 人 地點(diǎn):唐山市,承德市,張家口市
• 福建省鴻官通信工程有限公司 聘:網(wǎng)絡(luò)優(yōu)化工程師
需求人數(shù):2 人 地點(diǎn):牡丹江市
• 成都旗訊通信技術(shù)有限公司 聘:電聯(lián)招聘督導(dǎo)、傳輸、維護(hù)轉(zhuǎn)網(wǎng)優(yōu)
需求人數(shù):12 人 地點(diǎn):浙江省,江蘇省,河北省,山西省,遼寧省
• 嘉環(huán)科技股份有限公司 聘:湖南電信原廠優(yōu)化招聘
需求人數(shù):10 人 地點(diǎn):長(zhǎng)沙市,永州市,郴州市,衡陽(yáng)市
• 安徽引途科技有限公司 聘:皖北地區(qū)單驗(yàn)測(cè)試工程師
需求人數(shù):20 人 地點(diǎn):安徽省
熱點(diǎn)問(wèn)題
更多精彩
聯(lián)系我們 - 問(wèn)通信專家 | Powered by MSCBSC 移動(dòng)通信網(wǎng) © 2006 - |