一種網絡調優方法和裝置與流程
2023-10-20 00:16:52 1

本發明涉及計算機技術領域,特別涉及一種網絡調優方法和裝置。
背景技術:
隨著行動網路的迅猛發展,網絡的服務質量問題已經越來越受到人們的關注。網絡調優是解決網絡服務質量問題的一種手段,其是指通過各種技術手段使網絡能夠達到最佳平衡點,以最大限度地發揮網絡的能力,提高網絡的服務質量。
目前,網絡調優的方式主要是,通過人工調節各個網絡參數,然後觀察網絡參數調整後,網絡運行的能力,根據網絡運行能力,人為判斷網絡運行能力是否達到最優,整個網絡調優的過程都是通過人為幹預形式進行的。
技術實現要素:
本發明實施例提供了一種網絡調優方法和裝置,實現了網絡調優自動化。
第一方面,一種網絡調優方法,構建至少兩組參數組合,還包括:
實時監測當前網絡運行速率;
當所述當前網絡運行速率低於預設的調優閾值時,計算每一組所述參數組合相對於所述當前網絡運行速率的分數;
選定分數不低於預設的分數閾值的至少一個參數組合樣本;
針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並監測所述參數組合樣本對應的目標網絡運行速率;
根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡。
可選地,所述計算每一組所述參數組合相對於所述當前網絡運行速率的分數,包括:
獲取所述當前網絡運行速率對應的各個配置參數;
根據下述計算公式,計算每一組所述參數組合相對於所述當前網絡運行速率對應的各個配置參數的分數;
Fi=∑αj(Aij-Apj)
其中,Fi表徵參數組合i的分數;αj表徵所述參數組合中配置項j對應的權重;Aij表徵參數組合i中配置項j對應的參數值;Apj表徵當前網絡運行速率對應的配置項j的配置參數。
可選地,所述根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡,包括:
對每一個所述目標網絡運行速率進行排序;
根據排序的結果,選定最大目標網絡運行速率對應的參數組合樣本為目標參數組合;
利用所述目標參數組合配置所述網絡。
可選地,在所述實時監測當前網絡運行速率之後,在所述計算每一組所述參數組合相對於所述當前網絡運行速率的分數之前,進一步包括:
監測當前CPU使用率,判斷所述當前CPU使用率是否高於使用率閾值,如果是,則調整中斷時間;否則,執行所述計算每一組所述參數組合相對於所述當前網絡運行速率的分數。
可選地,所述調整中斷時間,包括:
確定網絡類型;
當所述網絡類型為千兆網絡時,調整中斷時間為300;
當所述網絡類型為萬兆網絡時,調整中斷時間為600。
第二方面,一種網絡調優裝置,包括:構建單元、速率監測單元及處理單元,其中,
所述構建單元,用於構建至少兩組參數組合;
所述速率監測單元,用於實時監測當前網絡運行速率;並當接收到所述處理單元的觸發時,監測所述參數組合樣本對應的目標網絡運行速率;
所述處理單元,用於當所述當前網絡運行速率低於預設的調優閾值時,計算所述構建單元構建的每一組所述參數組合相對於所述當前網絡運行速率的分數;選定分數不低於預設的分數閾值的至少一個參數組合樣本,針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並觸發所述速率監測單元,根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡。
可選地,所述處理單元,包括:獲取子單元和分數計算子單元,其中,
所述獲取子單元,用於獲取所述速率監測單元監測到的當前網絡運行速率對應的各個配置參數;
所述分數計算子單元,用於根據下述計算公式,計算每一組所述參數組合相對於所述當前網絡運行速率對應的各個配置參數的分數;
Fi=∑αj(Aij-Apj)
其中,Fi表徵參數組合i的分數;αj表徵所述參數組合中配置項j對應的權重;Aij表徵參數組合i中配置項j對應的參數值;Apj表徵當前網絡運行速率對應的配置項j的配置參數。
可選地,所述處理單元,進一步包括:
配置子單元,用於對每一個所述目標網絡運行速率進行排序,根據排序的結果,選定最大目標網絡運行速率對應的參數組合樣本為目標參數組合;利用所述目標參數組合配置所述網絡。
可選地,上述裝置進一步包括:使用率監測單元、判斷單元和調整單元,其中,
所述使用率監測單元,用於監測當前CPU使用率;
所述判斷單元,用於判斷所述使用率監測單元監測到的當前CPU使用率是否高於使用率閾值,如果是,則觸發所述調整單元,否則觸發所述處理單元;
所述調整單元,用於當接收到所述判斷單元的觸發時,調整中斷時間;
所述處理單元,用於當接收到所述判斷單元的觸發時,執行所述計算每一組所述參數組合相對於所述當前網絡運行速率的分數。
可選地,所述調整單元,用於:
確定網絡類型;
當所述網絡類型為千兆網絡時,調整中斷時間為300;
當所述網絡類型為萬兆網絡時,調整中斷時間為600。
本發明實施例提供了一種網絡調優方法和裝置,通過構建至少兩組參數組合,實時監測當前網絡運行速率;當所述當前網絡運行速率低於預設的調優閾值時,計算每一組所述參數組合相對於所述當前網絡運行速率的分數;選定分數不低於預設的分數閾值的至少一個參數組合樣本;針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並監測所述參數組合樣本對應的目標網絡運行速率;根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡,整個過程無需人為的參與,實現了網絡調優自動化。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一個實施例提供的一種網絡調優方法的流程圖;
圖2是本發明一個實施例提供的一種網絡調優方法的流程圖;
圖3是本發明一個實施例提供的網絡調優裝置所在架構的結構示意圖;
圖4是本發明一個實施例提供的一種網絡調優裝置的結構示意圖;
圖5是本發明一個實施例提供的一種網絡調優裝置的結構示意圖;
圖6是本發明一個實施例提供的一種網絡調優裝置的結構示意圖;
圖7是本發明一個實施例提供的一種網絡調優裝置的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
如圖1所示,本發明實施例提供了一種網絡調優方法,該方法可以包括以下步驟:
步驟101:構建至少兩組參數組合;
步驟102:實時監測當前網絡運行速率;
步驟103:當所述當前網絡運行速率低於預設的調優閾值時,計算每一組所述參數組合相對於所述當前網絡運行速率的分數;
步驟104:選定分數不低於預設的分數閾值的至少一個參數組合樣本;
步驟105:針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並監測所述參數組合樣本對應的目標網絡運行速率;
步驟106:根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡。
在圖1所示的實施例中,通過構建至少兩組參數組合,實時監測當前網絡運行速率;當所述當前網絡運行速率低於預設的調優閾值時,計算每一組所述參數組合相對於所述當前網絡運行速率的分數;選定分數不低於預設的分數閾值的至少一個參數組合樣本;針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並監測所述參數組合樣本對應的目標網絡運行速率;根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡,整個過程無需人為的參與,實現了網絡調優自動化。
在本發明一個實施例中,為了使分數計算更加準確,以保證網絡調優的效率,步驟103的具體實施方式,包括:獲取所述當前網絡運行速率對應的各個配置參數;
根據下述計算公式,計算每一組所述參數組合相對於所述當前網絡運行速率對應的各個配置參數的分數;
Fi=∑αj(Aij-Apj)
其中,Fi表徵參數組合i的分數;αj表徵所述參數組合中配置項j對應的權重;Aij表徵參數組合i中配置項j對應的參數值;Apj表徵當前網絡運行速率對應的配置項j的配置參數。
在本發明一個實施例中,為了進一步提高網絡調優的效率,步驟106的具體實施方式,包括:對每一個所述目標網絡運行速率進行排序;根據排序的結果,選定最大目標網絡運行速率對應的參數組合樣本為目標參數組合;利用所述目標參數組合配置所述網絡。
在本發明一個實施例中,為了進一步實現網絡調優,在上述步驟102之後,在步驟103之前,進一步包括:監測當前CPU使用率,判斷所述當前CPU使用率是否高於使用率閾值,如果是,則調整中斷時間;否則,執行所述計算每一組所述參數組合相對於所述當前網絡運行速率的分數。
在本發明一個實施例中,所述調整中斷時間,包括:確定網絡類型;當所述網絡類型為千兆網絡時,調整中斷時間為300;當所述網絡類型為萬兆網絡時,調整中斷時間為600。
如圖2所示,本發明另一實施例提供了一種網絡調優方法,該方法可以包括以下步驟:
步驟201:構建至少兩組參數組合;
例如:硬體參數、發包隊列大小、路由器最大傳輸單元(Maximum Transmission Unit,MTU)值等,進行不同值之間的組合。
步驟202:實時監測當前網絡運行速率;
步驟203:當所述當前網絡運行速率低於預設的調優閾值時,監測當前CPU使用率;
該調優閾值可以是用戶根據網絡情況任意設定的。CPU使用率其實就是你運行的程序佔用的CPU資源,表示你的機器在某個時間點的運行程序的情況。使用率越高,說明你的機器在這個時間上運行了很多程序,反之較少。本步驟CPU使用率監測主要是採用時間片進行統計,例如:A進程佔用10ms,然後B進程佔用30ms,然後空閒60ms,再又是A進程佔10ms,B進程佔30ms,空閒60ms;如果在一段時間內都是如此,那麼這段時間內的佔用率為40%。
步驟204:判斷所述當前CPU使用率是否高於使用率閾值,如果是,則執行步驟205;否則,執行步驟206;
該判斷的過程主要是,通過監測/proc/net/softnet_stat中的第三列數據的情況,當第三列數據增長時,確定當前CPU使用率高於使用率閾值。
步驟205:調整中斷時間,並結束當前流程;
該步驟的具體過程:確定網絡類型;
當所述網絡類型為千兆網絡時,調整中斷時間為300;
當所述網絡類型為萬兆網絡時,調整中斷時間為600。
步驟206:獲取所述當前網絡運行速率對應的各個配置參數;
步驟207:利用當前網絡運行速率對應的各個配置參數,計算每一組所述參數組合相對於所述當前網絡運行速率的分數;
該步驟提及的計算分數的實現方式主要是,根據下述計算公式,計算每一組所述參數組合相對於所述當前網絡運行速率對應的各個配置參數的分數;
Fi=Σαj(Aij-Apj)
其中,Fi表徵參數組合i的分數;αj表徵所述參數組合中配置項j對應的權重;Aij表徵參數組合i中配置項j對應的參數值;Apj表徵當前網絡運行速率對應的配置項j的配置參數。
步驟208:選定分數不低於預設的分數閾值的至少一個參數組合樣本;
步驟209:針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並監測所述參數組合樣本對應的目標網絡運行速率;
步驟210:對每一個所述目標網絡運行速率進行排序;
步驟211:根據排序的結果,選定最大目標網絡運行速率對應的參數組合樣本為目標參數組合;
步驟212:利用所述目標參數組合配置所述網絡。
配置網絡的過程可以為,修改/boot/grub/menu.list,以在kernel中增加intel_idle.max_cstate=0;調整發包隊列大小,如通過命令ip link set devethXtxquenelen 2000將發包隊列大小調整為2000;又比如,修改MTU大小為518bytes或者1522bytes等。
另外,上述過程應用Lunix的網絡調優。
如圖3、圖4所示,本發明實施例提供了一種網絡調優裝置。裝置實施例可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。從硬體層面而言,如圖3所示,為本發明實施例提供的網絡調優裝置所在設備的一種硬體結構圖,除了圖3所示的處理器、內存、網絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常還可以包括其他硬體,如負責處理報文的轉發晶片等等。以軟體實現為例,如圖4所示,作為一個邏輯意義上的裝置,是通過其所在設備的CPU將非易失性存儲器中對應的電腦程式指令讀取到內存中運行形成的。本實施例提供的網絡調優裝置,包括:構建單元401、速率監測單元402及處理單元403,其中,
所述構建單元401,用於構建至少兩組參數組合;
所述速率監測單元402,用於實時監測當前網絡運行速率;並當接收到所述處理單元403的觸發時,監測所述參數組合樣本對應的目標網絡運行速率;
所述處理單元403,用於當所述當前網絡運行速率低於預設的調優閾值時,計算所述構建單元401構建的每一組所述參數組合相對於所述當前網絡運行速率的分數;選定分數不低於預設的分數閾值的至少一個參數組合樣本,針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並觸發所述速率監測單元402,根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡。
如圖5所示,在本發明另一個實施例中,所述處理單元403,包括:獲取子單元501和分數計算子單元502,其中,
所述獲取子單元501,用於獲取所述速率監測單元監測到的當前網絡運行速率對應的各個配置參數;
所述分數計算子單元502,用於根據下述計算公式,計算每一組所述參數組合相對於所述當前網絡運行速率對應的各個配置參數的分數;
Fi=∑αj(Aij-Apj)
其中,Fi表徵參數組合i的分數;αj表徵所述參數組合中配置項j對應的權重;Aij表徵參數組合i中配置項j對應的參數值;Apj表徵當前網絡運行速率對應的配置項j的配置參數。
如圖6所示,在本發明又一實施例中,所述處理單元403,進一步包括:
配置子單元601,用於對每一個所述目標網絡運行速率進行排序,根據排序的結果,選定最大目標網絡運行速率對應的參數組合樣本為目標參數組合;利用所述目標參數組合配置所述網絡。
如圖7所示,上述裝置進一步包括:使用率監測單元701、判斷單元702和調整單元703,其中,
所述使用率監測單元701,用於監測當前CPU使用率;
所述判斷單元702,用於判斷所述使用率監測單元701監測到的當前CPU使用率是否高於使用率閾值,如果是,則觸發所述調整單元703,否則觸發所述處理單元403;
所述調整單元703,用於當接收到所述判斷單元702的觸發時,調整中斷時間;
所述處理單元403,用於當接收到所述判斷單元702的觸發時,執行所述計算每一組所述參數組合相對於所述當前網絡運行速率的分數。
在本發明另一實施例中,所述調整單元703,用於:
確定網絡類型;
當所述網絡類型為千兆網絡時,調整中斷時間為300;
當所述網絡類型為萬兆網絡時,調整中斷時間為600。
上述裝置內的各單元之間的信息交互、執行過程等內容,由於與本發明方法實施例基於同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
根據上述方案,本發明的各實施例,至少具有如下有益效果:
1.通過構建至少兩組參數組合,實時監測當前網絡運行速率;當所述當前網絡運行速率低於預設的調優閾值時,計算每一組所述參數組合相對於所述當前網絡運行速率的分數;選定分數不低於預設的分數閾值的至少一個參數組合樣本;針對每一個所述參數組合樣本,執行:利用所述參數組合樣本配置網絡,並監測所述參數組合樣本對應的目標網絡運行速率;根據每一個所述目標網絡運行速率,在所述至少一個參數組合樣本中選定目標參數組合配置所述網絡,整個過程無需人為的參與,實現了網絡調優自動化。
需要說明的是,在本文中,諸如第一和第二之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個〃·····」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質中。
最後需要說明的是:以上所述僅為本發明的較佳實施例,僅用於說明本發明的技術方案,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。