一種服務器集群的服務器部署方法及系統的制作方法
【專利摘要】本發明提供一種服務器集群的服務器部署的方法,其中包括:確定單機在滿足預設時延要求時能夠處理的最大請求數量;根據預設待處理的訪問請求的數量和最大請求數量確定服務器集群所需要的單機數量;根據確定的所述單機數量部署所述服務器集群。本發明還提供一種服務器集群的服務器部署的系統。通過本發明所提供的服務器集群的服務器部署方法及系統,使得網絡運營商在部署服務器集群時,可以根據為服務器集群預設的服務處理能力和用戶體驗最佳的響應時延確定服務器集群下的服務器數量,實現了在部署服務器集群的過程中既不浪費服務器資源,并且也保證了用戶體驗。
【專利說明】
一種服務器集群的服務器部署方法及系統
技術領域
[0001] 本發明實施例涉及服務器集群的技術領域,特別是涉及一種服務器集群的服務器 部署方法及系統。
【背景技術】
[0002] 目前,各類大型企業、大型網站都采用服務器集群進行資源管理。所謂服務器集 群,就是指將多臺服務器集中起來進行同一種服務,在客戶端看來就像是只有一個服務器。 集群可以利用多個計算機進行并行計算從而獲得很高的計算速度,也可以用多個計算機做 備份,即使其中一個機器出現故障,整個搜索服務器集群仍然能正常運行。
[0003] 每個服務器集群有自己的服務極限,在面臨超出自己服務能力的流量時,會導致 搜索服務器集群進入部分不可服務狀態,甚至完全不可服務狀態。例如,搜索服務器集群資 源耗盡,將導致所有的請求都不能完成或者全部超時;搜索服務器集群被迫隨機或者根據 優先級拋棄部分請求。然而,在一些大型網站的應用中,用戶數量眾多,在商品搜索的過程 中,面對超過服務能力的突發流量時,如果突然發生服務中斷,將嚴重影響用戶體驗。
[0004] 現有技術中,對于超過服務能力的突發流量時,一般采用丟棄部分請求的方式,具 體為隨機丟棄請求,或者根據來源、查詢模式按照配置的優先級逐步丟棄不重要的請求,盡 量確保重要的請求。但這種方式總是會導致服務的部分不可用。
[0005] 現有技術的另一種應對超過服務能力的突發流量的方式是在集群中添加服務器, 然而這種方式的缺點是反應慢,尤其是因為突發超過服務能力的流量一般來說是非正常的 增長,在添加機器時,機器的準備以及數據的同步都需要時間,在這段時間內可能導致搜索 服務器集群進入部分服務不可用的狀態;再者,在機器添加過程中還需要人工介入,不夠智 能,反應滯后,不能快速應對突發的流量尖峰;進一步地,隨著集群中并發的訪問請求數量 的不斷增多,服務器集群的響應延時逐漸延長,通過人工部署為集群添加新服務器時,可能 因為新服務器部署的數量過多而導致服務器集群的服務器資源的浪費,或者由于新服務器 部署的數量不足而導致服務器集群的響應時延不能滿足市場需求,嚴重影響了用戶體驗, 給服務器運營商帶來重大損失。
【發明內容】
[0006] 本發明實施例提供一種服務器集群的服務器部署方法及系統,用以解決上述現有 技術中所闡述的至少一個技術問題。
[0007] -方面,本發明實施例提供一種服務器集群的服務器部署方法,其中包括:
[0008] 確定單機在滿足預設時延要求時能夠處理的最大請求數量;
[0009] 根據預設待處理的訪問請求的數量和最大請求數量確定服務器集群所需要的單 機數量;
[0010] 根據確定的所述單機數量部署所述服務器集群。
[0011] 另一方面,本發明實施例還提供一種服務器集群的服務器部署系統,其中包括:
[0012]最大請求數量確定單元,用于確定單機在滿足預設時延要求時能夠處理的最大請 求數量;
[0013 ]單機數量確定單元,用于根據預設待處理的訪問請求的數量和最大請求數量確定 服務器集群所需要的單機數量;
[0014]服務器集群部署單元,用于根據確定的所述單機數量部署所述服務器集群。
[0015] 通過本發明實施例所提供的服務器集群的服務器部署方法及系統,使得網絡運營 商在部署服務器集群時,可以根據為服務器集群預設的服務處理能力和用戶體驗最佳的響 應時延確定服務器集群下的服務器數量,實現了在部署服務器的過程中不浪費服務器資 源,并且保證了用戶體驗。
【附圖說明】
[0016] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發 明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根 據這些附圖獲得其他的附圖。
[0017] 圖1示出的是本發明一實施例的服務器集群的服務器部署方法的流程圖;
[0018] 圖2示出的是本發明一實施例的服務器集群的服務器部署系統的結構示意圖。
【具體實施方式】
[0019] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0020] 需要說明的是,在不沖突的情況下,本申請中的實施方式及實施方式中的特征可 以相互組合。
[0021] 本發明可用于眾多通用或專用的計算系統環境或配置中。例如:個人計算機、服務 器計算機、手持設備或便攜式設備、平板型設備、多處理器系統、基于微處理器的系統、置頂 盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的 分布式計算環境等等。
[0022] 本發明可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序 模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組 件、數據結構等等。也可以在分布式計算環境中實踐本發明,在這些分布式計算環境中,由 通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以 位于包括存儲設備在內的本地和遠程計算機存儲介質中。
[0023] 參見圖1示出的是本發明一實施例的一種服務器集群的服務器部署方法,其特征 在于,包括:
[0024] S11:確定單機在滿足預設時延要求時能夠處理的最大請求數量;
[0025] S12:根據預設待處理的訪問請求的數量和最大請求數量確定服務器集群所需要 的單機數量;
[0026] S13:根據確定的單機數量部署所述服務器集群。
[0027] 通過本發明實施例所提供的服務器集群的服務器部署方法,使得網絡運營商在部 署服務器集群時,可以根據為服務器集群預設的服務處理能力和用戶體驗最佳的響應時延 確定服務器集群下的服務器數量,實現了在部署服務器的過程中不浪費服務器資源,并且 保證了用戶體驗;相比于現有技術中在發現服務器集群的處理能力不足以滿足用戶體驗時 再往服務器集群中添加服務器,通過本發明實施例實現了在處理一定數量的訪問請求時, 可以預知系統延時和集群下的服務器數量的對應關系,進而使得服務器運營商可以根據系 統延時布置服務器集群下服務器的數量。
[0028] 作為本發明實施例方法的一種優選實施例,所述確定單機在滿足預設時延時能夠 處理的最大請求數量包括:
[0029]確定單機能夠處理的極限請求數量;
[0030] 根據所述極限請求數量和所述預設時延確定所述最大請求數量。
[0031] 應當解釋的是,上述單機能夠處理的極限請求數量指代的是單機服務器每秒所能 處理的訪問請求的最大數量。
[0032] 在本發明實施例方法中,通過綜合考慮服務器集群中單機的極限請求數量和預設 時延確定單機相對應于預設時延下的最大請求數量,獲取在理論上單機滿足預設時延的最 大請求數量。
[0033] 作為本發明實施例方法的一種優選實施例,所述確定單機能夠處理的極限請求數 量為:
[0034] 模擬訪問請求以對所述單機進行壓力測試,確定所述單機每秒所能處理的訪問請 求數為極限請求數量,所述訪問請求符合泊松分布。
[0035] 應當解釋的是,壓力測試是指通過應用很大的工作負載來使軟件超負荷運轉,從 而達到測試目的的測試方法,通過壓力測試經常能夠發現許多隱蔽的錯誤,如內存泄漏、死 鎖及同步問題,而采用一般的功能測試和單元測試的方法,通常發現不了這些錯誤,由于在 實際工作中,針對服務器的訪問請求符合泊松分布,
[0036] 關于本發明實施例方法,更具體地,可以包括:將單機和壓力測試設備配置在同一 個虛擬局域網中,并將偽造 IP的路由插入到單機的路由表中;壓力測試設備發送源地址為 偽造 IP的數據包,向單機發起tcp連接請求;單機接收壓力測試設備所發送的具有偽造 IP的 數據包,并根據單機的路由表將返回包發送給壓力測試設備;壓力測試設備偵聽所有到達 的數據包,完成tcp連接。其中,上述壓力測試設備向單機發送的數據包的數量和測試時間 符合泊松分布;上述壓力測試設備統計所有到達的數據包的數量,并根據測試時間和上述 數據包的數量確定單機的極限請求數量。
[0037] 通過本發明實施例方法,模擬單機在工作環境下的工作狀態,確定單機的能夠處 理的極限請求數量,能保證這樣壓力測試所確定的極限請求數量的精確性更高。
[0038] 作為本發明實施例方法的一種優選實施例,所述最大請求數量由以下公式確定:
[0039] λ, =μ-[1/Γ 1,
[0040] 其中,λ'為最大請求數量,μ為極限請求數量,Τ '為預設時延。
[0041 ]關于本具體實施例方法的執行,利用了延時請求量確定模型,
[0042]關于單機的延時請求量確定模型主要部署的原理是:
[0043] Τ=(1/μ)Χ[1/(1_λ'/μ)]
[0044] 其中,τ為平均延時。令τ=τ',則λ' =μ-「1/Γ 1,其中|?/Γ 1表示針對1/Τ'的 向上取整。
[0045] 在本發明實施例方法中,通過建立延時請求量確定模型在理論上確定對應于單機 在一定時延下的所能處理的最大訪問請求數量。
[0046] 作為本發明實施例方法的一種優選實施例,所述服務器集群下的所述單機數量為 Ν=κχ[λ/λ「|,其中κ為大于1的正數,λ為預設待處理的訪問請求的數量。
[0047] 通過本發明實施例方法,在理論上是服務器集群的預設待處理的訪問請求的數量 λ和λ'的比值即可確定服務器集群下的服務器數量,但是由于在實際工作的過程中存在網 絡波動等情況,故應為服務器集群預留更多數量的服務器以保證服務器集群的處理能力。
[0048] 作為進一步的優化,Ν=:3χμ/λ1。
[0049] 在本發明實施例方法的實際應用中,將服務器集群下的所部署的單機數量確定為 理論所得丨λ/λ'1的3倍,能夠應對服務器集群的并發訪問請求數量激增的突發情況。
[0050] 關于本發明實施例方法更具體的應用,更具體地,在一種情況下,當服務器運營商 需要部署服務器集群時,首先確定服務器集群預處理的訪問請求數量和服務器集群所要求 的響應時延,利用本發明實施例系統確定服務器數量,進而部署相應的服務器的數量;相比 于現有技術中憑個人估算服務器的響應能力去預估服務器集群下應該布置的服務器的臺 數,本發明實施例系統通過建立關于延時值和最大請求量之間對應關系的延時請求量確定 模型,能消除因個人主觀因素所造成的誤差,能夠較精準和客觀地確定一個服務器集群下 所應該部署的單機服務器數量;通過本發明所提供的服務器集群的服務器部署方法,使得 網絡運營商在部署服務器集群時,可以根據為服務器集群預設的服務處理能力和用戶體驗 最佳的響應時延確定服務器集群下的服務器數量,實現了在部署服務器集群的過程中既不 浪費服務器資源,并且也保證了用戶體驗。
[0051] 參見圖2示出的是本發明一實施例的一種服務器集群的服務器部署系統,其特征 在于,包括:
[0052]最大請求數量確定單元,用于確定單機在滿足預設時延要求時能夠處理的最大請 求數量;
[0053] 單機數量確定單元,用于根據預設待處理的訪問請求的數量和最大請求數量確定 服務器集群所需要的單機數量;
[0054] 服務器集群部署單元,用于根據確定的所述單機數量部署所述服務器集群。
[0055] 通過本發明實施例所提供的服務器集群的服務器部署方法及系統,使得網絡運營 商在部署服務器集群時,可以根據為服務器集群預設的服務處理能力和用戶體驗最佳的響 應時延確定服務器集群下的服務器數量,實現了在部署服務器的過程中不浪費服務器資 源,并且也保證了用戶體驗。
[0056] 作為本發明實施例系統的一種優選實施例,所述最大請求數量確定單元包括:
[0057] 極限請求數量確定模塊,用于確定單機能夠處理的極限請求數量;
[0058] 換算單元,用于根據所述極限請求數量和所述預設時延確定所述最大請求數量。
[0059] 應當解釋的是,上述單機能夠處理的極限請求數量指代的是單機服務器每秒所能 處理的訪問請求的最大數量。
[0060] 在本發明實施例系統中,通過綜合考慮服務器集群中單機的極限請求數量和預設 時延確定單機相對應于預設時延下的最大請求數量,獲取在理論上單機滿足預設時延的最 大請求數量。
[0061] 作為本發明實施例系統的一種優選實施例,所述最大請求數量確定單元包括:
[0062] 所述極限請求數量確定模塊用于模擬訪問請求以對所述單機進行壓力測試,確定 所述單機每秒所能處理的訪問請求數為極限請求數量,所述訪問請求符合泊松分布。
[0063] 應當解釋的是,壓力測試是指通過應用很大的工作負載來使軟件超負荷運轉,從 而達到測試目的的測試方法,通過壓力測試經常能夠發現許多隱蔽的錯誤,如內存泄漏、死 鎖及同步問題,而采用一般的功能測試和單元測試的方法,通常發現不了這些錯誤,由于在 實際工作中,針對服務器的訪問請求符合泊松分布,
[0064] 關于本發明實施例系統,更具體地,可以包括:將單機和壓力測試設備配置在同一 個虛擬局域網中,并將偽造 IP的路由插入到單機的路由表中;壓力測試設備發送源地址為 偽造 IP的數據包,向單機發起tcp連接請求;單機接收壓力測試設備所發送的具有偽造 IP的 數據包,并根據單機的路由表將返回包發送給壓力測試設備;壓力測試設備偵聽所有到達 的數據包,完成tcp連接。其中,上述壓力測試設備向單機發送的數據包的數量和測試時間 符合泊松分布;上述壓力測試設備統計所有到達的數據包的數量,并根據測試時間和上述 數據包的數量確定單機的極限請求數量。
[0065] 通過本發明實施例系統,模擬單機在工作環境下的工作狀態,確定單機的能夠處 理的極限請求數量,能保證這樣壓力測試所確定的極限請求數量的精確性更高。
[0066] 作為本發明實施例系統的一種優選實施例,所述最大請求數量由以下公式確定:
[0067] λ ' =μ-|1/Τ ],
[0068]其中,λ '為最大請求數量,μ為極限請求數量,Τ '為預設時延。
[0069] 通過本發明實施例系統,實現了可以根據單機所能處理的極限處理數量確定理論 上與預設時延相對應的最大訪問請求量。
[0070] 作為本發明實施例系統的一種優選實施例,所述服務器集群下的所述單機數量為 1^=[<:><丨入/入'1,其中1(為大于1的正數彳為預設待處理的訪問請求的數量。
[0071] 通過本發明實施例系統,在理論上是服務器集群的預設待處理的訪問請求的數量 λ和λ'的比值即可確定服務器集群下的服務器數量,但是由于在實際工作的過程中存在網 絡波動等情況,故應為服務器集群預留更多數量的服務器以保證服務器集群的處理能力。
[0072] 作為進一步的優化,Ν=3χ[λ/λ'1。
[0073] 在本發明實施例系統的實際應用中,將服務器集群下的所部署的單機數量確定為 理論所得[λ/λ 1的3倍,能夠應對服務器集群的并發訪問請求數量激增突發情況。
[0074] 關于本發明實施例系統更具體的應用,更具體地,在一種情況下,當服務器運營商 需要部署服務器集群時,首先確定服務器集群預處理的訪問請求數量和服務器集群所要求 的響應時延,利用本發明實施例系統確定服務器數量,進而部署相應的服務器的數量;相比 于現有技術中憑個人估算服務器的響應能力去預估服務器集群下應該布置的服務器的臺 數,本發明實施例系統通過建立關于延時值和最大請求量之間對應關系的延時請求量確定 模型,能消除因個人主觀因素所造成的誤差,能夠較精準和客觀地確定一個服務器集群下 所應該部署的單機服務器數量;通過本發明所提供的服務器集群的服務器部署系統,使得 網絡運營商在部署服務器集群時,可以根據為服務器集群預設的服務處理能力和用戶體驗 最佳的響應時延確定服務器集群下的服務器數量,實現了在部署服務器集群的過程中既不 浪費服務器資源,并且也保證了用戶體驗。
[0075] 本發明實施例中可以通過硬件處理器來實現相關功能模塊和單元。
[0076] 在本發明實施例系統一方面的應用上,本發明實施例系統可以搭建在網絡運營商 所部署內容分發網絡的中心調度服務器中;當應用在上述中心調度服務器中時,實現了對 內容分發網絡全網的關于業務的帶寬分配,從而避免了次重要的業務搶占重要業務的帶 寬,保障網絡運營商所部署的重要業務的帶寬充足。
[0077]以上所描述的裝置實施例僅僅是示意性的,其中作為分離部件說明的單元可以是 或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即 可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的 部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性的勞 動的情況下,即可以理解并實施。
[0078]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可 借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上 述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該 計算機軟件產品可以存儲在計算機可讀存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指 令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施 例或者實施例的某些部分所述的方法。
[0079]最后應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡管 參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可 以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換; 而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的精神和 范圍。
【主權項】
1. 一種服務器集群的服務器部署的方法,其中包括: 確定單機在滿足預設時延要求時能夠處理的最大請求數量; 根據預設待處理的訪問請求的數量和最大請求數量確定服務器集群所需要的單機數 量; 根據確定的所述單機數量部署所述服務器集群。2. 根據權利要求1所述的方法,其中,所述確定單機在滿足預設時延時能夠處理的最大 請求數量包括: 確定單機能夠處理的極限請求數量; 根據所述極限請求數量和所述預設時延確定所述最大請求數量。3. 根據權利要求2所述的方法,其中,所述確定單機能夠處理的極限請求數量為: 模擬訪問請求以對所述單機進行壓力測試,確定所述單機每秒所能處理的訪問請求數 為極限請求數量,所述訪問請求符合泊松分布。4. 根據權利要求2或3所述的方法,I中,所i術昜女請龍教量由以下公式確定:其中,λ '為最大請求數量,μ為極限請求數量,T '為預設時延。5. 根據權利要求4所述的方法,其中,所述服務器集群下的所述單機數量為 Ν=κχμ/λη,其中K為大于1的正數,λ為預設待處理的訪問請求的數量。6. -種服務器集群的服務器部署系統,其中,包括: 最大請求數量確定單元,用于確定單機在滿足預設時延要求時能夠處理的最大請求數 量; 單機數量確定單元,用于根據預設待處理的訪問請求的數量和最大請求數量確定服務 器集群所需要的單機數量; 服務器集群部署單元,用于根據確定的所述單機數量部署所述服務器集群。7. 根據權利要求6所述的系統,其中,所述最大請求數量確定單元包括: 極限請求數量確定模塊,用于確定單機能夠處理的極限請求數量; 換算單元,用于根據所述極限請求數量和所述預設時延確定所述最大請求數量。8. 根據權利要求7所述的系統,其中,所述極限請求數量確定模塊用于模擬訪問請求以 對所述單機進行壓力測試,確定所述單機每秒所能處理的訪問請求數為極限請求數量,所 述訪問請求符合泊松分布。9. 根據權利要求7或8所述的系統,其中,所述最大請求數量由以下公式確定: λ, =μ-Γ1/Τ?], 其中,λ '為最大請求數量,μ為極限請求數量,T '為預設時延。10. 根據權利要求9所述的系統,其中,所述服務器集群下的所述單機數量為 Ν=Κχ[λ/λ'1,其中κ為大于1的正數,λ為預設待處理的訪問請求的數量。
【文檔編號】H04L29/08GK105897861SQ201610183488
【公開日】2016年8月24日
【申請日】2016年3月28日
【發明人】李洪福, 劉斌
【申請人】樂視控股(北京)有限公司, 樂視云計算有限公司