-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
1、我用NETSTAT命令時(shí)發(fā)現(xiàn)一臺(tái)計(jì)算機(jī)的鏈接狀況全是 TIME_WAIT,而且各個(gè)端口都在測(cè)試,怎么解釋了?
3、TIME_WAIT 過多導(dǎo)致服務(wù)器504 服務(wù)器是windows server 2008 IIS 7.5, 程序是.net
time_wait過多連接池(tcp連接 time wait過多原因)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于time_wait過多連接池的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內(nèi)免費(fèi)在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、我用NETSTAT命令時(shí)發(fā)現(xiàn)一臺(tái)計(jì)算機(jī)的鏈接狀況全是 TIME_WAIT,而且各個(gè)端口都在測(cè)試,怎么解釋了?
Netstat
是DOS命令,是一個(gè)監(jiān)控TCP/IP網(wǎng)絡(luò)的非常有用的工具,它可以顯示路由表、實(shí)際的網(wǎng)絡(luò)連接以及每一個(gè)網(wǎng)絡(luò)接口設(shè)備的狀態(tài)信息.Netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。
TIME-WAIT:等待足夠的時(shí)間以確保遠(yuǎn)程TCP接收到連接中斷請(qǐng)求的確認(rèn)
是檢查和外部機(jī)器的連接狀態(tài)還沒有結(jié)束。但時(shí)間已經(jīng)溢出了(超時(shí)了)。這可能與系統(tǒng)設(shè)置或防火墻有關(guān)
二、tomcat優(yōu)化,監(jiān)控 tcp連接time-wait咋回事
1)TIME_WAIT: 狀態(tài)的連接達(dá)到了 709
sql server占用的TIME_WAIT最多,還有nginx, tomcat都有一些處于 TIME_WAIT狀態(tài)。
2)并且最大的端口達(dá)到了 65327 ,六萬多,幾乎接近端口的最大值 65535.
因?yàn)槭?Windows server 2008,不同Linux下的TCP的調(diào)優(yōu)。
解決方法:將 TcpTimedWaitDelay 調(diào)到 30S,讓 TIME_WAIT 狀態(tài)的維持最多30S,默認(rèn)是4分鐘。
如何查看或設(shè)置TcpTimedWaitDelay:
cmd中運(yùn)行 regedit 命令,找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/ Services/TCPIP/Parameters 注冊(cè)表子鍵
看看有沒有 TcpTimedWaitDelay 項(xiàng),有的話直接修改,沒有的話創(chuàng)建一個(gè)并創(chuàng)建名為 TcpTimedWaitDelay 的新 REG_DWORD 值。 將此值設(shè)置為十進(jìn)制 30,其為十六進(jìn)制 0x0000001e。該值將等待時(shí)間設(shè)置為 30 秒。 停止并重新啟動(dòng)系統(tǒng)。 缺省值:0xF0,它將等待時(shí)間設(shè)置為 240 秒(4 分鐘)。 建議值:最小值為 0x1E,它將等待時(shí)間設(shè)置為 30 秒。
修改之后,重啟系統(tǒng),在觀察,TIME_WAIT在100左右徘徊。效果還是立竿見影的。幾天來一直再也沒有出現(xiàn)Tomcat假死的情況。
三、TIME_WAIT 過多導(dǎo)致服務(wù)器504 服務(wù)器是windows server 2008 IIS 7.5, 程序是.net
先分析原因。
你出現(xiàn)這個(gè)錯(cuò)誤是因?yàn)槟銢]有了解ASP.NET的工作原理。ASP.Net 和php,jsp ,asp等服務(wù)器語言一樣 都是為了生成可供瀏覽器解析的頁面,而可供瀏覽器解析的語言只有HTML。
1,如果你在aspx頁面中插入一個(gè)asp:LinkButton 那么運(yùn)行頁面后 在瀏覽器中查看源代碼你會(huì)發(fā)現(xiàn)這個(gè)標(biāo)簽實(shí)際被轉(zhuǎn)為了一個(gè)<a>標(biāo)簽。
2,為什么你的寫法不會(huì)轉(zhuǎn)換呢?因?yàn)槭紫?傳遞給Literal1.Text 的值在asp.net中作為一段字符串被直接輸出到瀏覽器中。那么你的寫法到瀏覽器后源代碼中仍然是一個(gè)asp:LinkButton 標(biāo)簽,而這個(gè)標(biāo)簽是無法被瀏覽器正確解析的。
解決辦法:
知道了原因,那么如果非要按照你的寫法去寫,那么應(yīng)該是這樣的:
Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='LinkButton1_Click1'>注銷</a></li><li> </li><li>信息修改</li><li> </li>";
但是當(dāng)你修改完后發(fā)現(xiàn)點(diǎn)擊注銷按鈕依然不能執(zhí)行!為什么呢?
因?yàn)槟愕腖inkButton1_Click1 事件并沒有在asp.net中被解析為可供瀏覽器識(shí)別的js代碼。
如何解決?
首先吐槽下你的寫法實(shí)在另類, 但是依然可以實(shí)現(xiàn)。
在aspx頁面中寫一個(gè)asp:LinkButton按鈕:
<asp:LinkButton ID='LinkButton2' runat='server' onclick='LinkButton1_Click1'>注銷</asp:LinkButton>
運(yùn)行頁面,查看源代碼 看看這個(gè)新加的注銷按鈕被解析為了什么html代碼,大概如下
<a id="LinkButton2" onclick="xxxxx"></a>
將新加的linkbutton 設(shè)置不可見屬性
<asp:LinkButton ID='LinkButton2' runat='server' visible="false" onclick='LinkButton1_Click1'>注銷</asp:LinkButton>
重新修改后臺(tái)代碼
Literal1.Text = "<li>" + ((users)Session["users"]).Name.ToString() + "</li><li> </li><li><a ID='LinkButton1' onclick='xxxxx'>注銷</a></li><li> </li><li>信息修改</li><li> </li>";
//也就是將標(biāo)簽的js事件綁定到那個(gè)隱藏的注銷按鈕事件上。
四、127.0.0.1:3306 TIME_WAIT超多導(dǎo)致網(wǎng)站速度減慢
下載一個(gè)sreng修復(fù)一下。。
打開dos輸入netsh winsock reset試試
以上就是關(guān)于time_wait過多連接池相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
中文網(wǎng)官網(wǎng)(lookfantastic中文官網(wǎng))
transcribe怎么讀(transpiration怎么讀)
打造產(chǎn)業(yè)集群,推動(dòng)高質(zhì)量發(fā)展(打造產(chǎn)業(yè)集群,推動(dòng)高質(zhì)量發(fā)展安康市政)
企業(yè)產(chǎn)品是如何推廣的(企業(yè)產(chǎn)品怎么推廣)