導航:首頁 > 配伺服器 > 怎麼測試web伺服器負載

怎麼測試web伺服器負載

發布時間:2023-03-09 20:55:27

Ⅰ 多台伺服器負載均衡的壓力測試要怎麼做

負載均衡是演算法上的問題,按常規軟體測試的方式來。
如果負載沒問題,那理論上壓力測試只要測單個服務就行了。

Ⅱ 如何配置Web伺服器實現負載均衡

網路的負載均衡是一種動態均衡技術,通過一些工具實時地分析數據包,掌握網路中的數據流量狀況,把任務合理均衡地分配出去。這種技術基於現有網路結構,提供了一種擴展伺服器帶寬和增加伺服器吞吐量的廉價有效的方法,加強了網路數據處理能力,提高了網路的靈活性和可用性。

以四台伺服器為例實現負載均衡:

安裝配置LVS

1. 安裝前准備:

(1)首先說明,LVS並不要求集群中的伺服器規格劃一,相反,可以根據伺服器的不同配置和負載狀況,調整負載分配策略,充分利用集群環境中的每一台伺服器。如下表:

Srv Eth0 Eth0:0 Eth1 Eth1:0

vs1 10.0.0.1 10.0.0.2 192.168.10.1 192.168.10.254

vsbak 10.0.0.3 192.168.10.102

real1 192.168.10.100

real2 192.168.10.101

其中,10.0.0.2是允許用戶訪問的IP。

(2)這4台伺服器中,vs1作為虛擬伺服器(即負載平衡伺服器),負責將用戶的訪問請求轉發到集群內部的real1,real2,然後由real1,real2分別處理。
Client為客戶端測試機器,可以為任意操作系統。

(3)所有OS為redhat6.2,其中vs1 和vsbak 的核心是2.2.19, 而且patch過ipvs的包, 所有real
server的Subnet mask 都是24位, vs1和vsbak 的10.0.0. 網段是24 位。

2.理解LVS中的相關術語

(1) ipvsadm :ipvsadm是LVS的一個用戶界面。在負載均衡器上編譯、安裝ipvsadm。

(2) 調度演算法: LVS的負載均衡器有以下幾種調度規則:Round-robin,簡稱rr;weighted
Round-robin,簡稱wrr;每個新的連接被輪流指派到每個物理伺服器。Least-connected,簡稱lc;weighted
Least-connected,簡稱wlc,每個新的連接被分配到負擔最小的伺服器。

(3) Persistent client
connection,簡稱pcc,(持續的客戶端連接,內核2.2.10版以後才支持)。所有來自同一個IP的客戶端將一直連接到同一個物理伺服器。超時時間被設置為360秒。Pcc是為https和cookie服務設置的。在這處調度規則下,第一次連接後,所有以後來自相同客戶端的連接(包括來自其它埠)將會發送到相同的物理伺服器。但這也會帶來一個問題,因為大約有25%的Internet
可能具有相同的IP地址。

(4) Persistent port
connection調度演算法:在內核2.2.12版以後,pcc功能已從一個調度演算法(你可以選擇不同的調度演算法:rr、wrr、lc、wlc、pcc)演變成為了一個開關選項(你可以讓rr、
wrr、lc、wlc具備pcc的屬性)。在設置時,如果你沒有選擇調度演算法時,ipvsadm將默認為wlc演算法。 在Persistent port
connection(ppc)演算法下,連接的指派是基於埠的,例如,來自相同終端的80埠與443埠的請求,將被分配到不同的物理伺服器上。不幸的是,如果你需要在的網站上採用cookies時將出問題,因為http是使用80埠,然而cookies需要使用443埠,這種方法下,很可能會出現cookies不正常的情況。

(5)Load Node Feature of Linux Director:讓Load balancer 也可以處理users 請求。

(6)IPVS connection synchronization。

(7)ARP Problem of LVS/TUN and LVS/DR:這個問題只在LVS/DR,LVS/TUN 時存在。

3. 配置實例

(1) 需要的軟體包和包的安裝:

I. piranha-gui-0.4.12-2*.rpm (GUI介面cluster設定工具);

II. piranha-0.4.12-2*.rpm;

III. ipchains-1.3.9-6lp*.rpm (架設NAT)。

取得套件或mount到光碟,進入RPMS目錄進行安裝:

# rpm -Uvh piranha*

# rpm -Uvh ipchains*

(2) real server群:

真正提供服務的server(如web
server),在NAT形式下是以內部虛擬網域的形式,設定如同一般虛擬網域中Client端使用網域:192.168.10.0/24
架設方式同一般使用虛擬IP之區域網絡。

a. 設網卡IP

real1 :192.168.10.100/24

real2 :192.168.10.101/24

b.每台server均將default gateway指向192.168.10.254。
192.168.10.254為該網域唯一對外之信道,設定在virtual server上,使該網域進出均需通過virtual server 。

c.每台server均開啟httpd功能供web server服務,可以在各real server上放置不同內容之網頁,可由瀏覽器觀察其對各real
server讀取網頁的情形。

d.每台server都開啟rstatd、sshd、rwalld、ruser、rsh、rsync,並且從Vserver上面拿到相同的lvs.conf文件。

(3) virtual server:

作用在導引封包的對外主機,專職負責封包的轉送,不提供服務,但因為在NAT型式下必須對進出封包進行改寫,所以負擔亦重。

a.IP設置:

對外eth0:IP:10.0.0.1 eth0:0 :10.0.0.2

對內eth1:192.168.10.1 eth1:0 :192.168.10.254

NAT形式下僅virtual server有真實IP,real server群則為透過virtual server.

b.設定NAT功能

# echo 1 >; /proc/sys/net/ipv4/ip_forward

# echo 1 >; /proc/sys/net/ipv4/ip_always_defrag

# ipchains -P forward MASQ

c.設定piranha 進入X-window中 (也可以直接編輯/etc/lvs.cf )

a).執行面板系統piranha

b).設定「整體配置」(Global Settings) 主LVS伺服器主機IP:10.0.0.2, 選定網路地址翻譯(預設) NAT路徑名稱:
192.168.10.254, NAT 路徑裝置: eth1:0

c).設定虛擬伺服器(Virtual Servers) 添加編輯虛擬伺服器部分:(Virtual
Server)名稱:(任意取名);應用:http;協議: tcp;連接:80;地址:10.0..0.2;裝置:eth0:0; 重入時間:180
(預設);服務延時:10 (預設);載入監控工具:ruptime (預設);調度策略:Weighted least-connections; 持續性:0
(預設); 持續性屏蔽: 255.255.255.255 (預設); 按下激活:實時伺服器部分:(Real Servers); 添加編輯:名字:(任意取名);
地址: 192.168.10.100; 權重:1 (預設) 按下激活

另一架real server同上,地址:192.168.10.101。

d). 控制/監控(Controls/Monitoring)
控制:piranha功能的激活與停止,上述內容設定完成後即可按開始鍵激活piranha.監控器:顯示ipvsadm設定之routing table內容
可立即更新或定時更新。

(4)備援主機的設定(HA)

單一virtual server的cluster架構virtual server 負擔較大,提供另一主機擔任備援,可避免virtual
server的故障而使對外服務工作終止;備份主機隨時處於預備狀態與virtual server相互偵測

a.備份主機:

eth0: IP 10.0.0.3

eth1: IP 192.168.10.102 同樣需安裝piranha,ipvsadm,ipchains等套件

b.開啟NAT功能(同上面所述)。

c.在virtual server(10.0.0.2)主機上設定。

a).執行piranha冗餘度 ;

b).按下「激活冗餘度」;

冗餘LVS伺服器IP: 10.0.0.3;HEARTBEAT間隔(秒數): 2 (預設)

假定在…秒後進入DEAD狀態: 5 (預設);HEARTBEAT連接埠: 539 (預設)

c).按下「套用」;

d).至「控制/監控」頁,按下「在當前執行層添加PULSE DEAMON」 ,按下「開始」;

e).在監控器按下「自動更新」,這樣可由窗口中看到ipvsadm所設定的routing table,並且動態顯示real
server聯機情形,若real server故障,該主機亦會從監視窗口中消失。

d.激活備份主機之pulse daemon (執行# /etc/rc.d/init.d/pulse start)。

至此,HA功能已經激活,備份主機及virtual server由pulse daemon定時相互探詢,一但virtual
server故障,備份主機立刻激活代替;至virtual server 正常上線後隨即將工作交還virtual server。

LVS測試

經過了上面的配置步驟,現在可以測試LVS了,步驟如下:

1. 分別在vs1,real1,real2上運行/etc/lvs/rc.lvs_dr。注意,real1,real2上面的/etc/lvs
目錄是vs2輸出的。如果您的NFS配置沒有成功,也可以把vs1上/etc/lvs/rc.lvs_dr復制到real1,real2上,然後分別運行。確保real1,real2上面的apache已經啟動並且允許telnet。

2. 測試Telnet:從client運行telnet 10.0.0.2,
如果登錄後看到如下輸出就說明集群已經開始工作了:(假設以guest用戶身份登錄)

[guest@real1 guest]$——說明已經登錄到伺服器real1上。

再開啟一個telnet窗口,登錄後會發現系統提示變為:

[guest@real2 guest]$——說明已經登錄到伺服器real2上。

3. 測試http:從client運行iexplore http://10.0.0.2

因為在real1 和real2 上面的測試頁不同,所以登錄幾次之後,顯示出的頁面也會有所不同,這樣說明real server 已經在正常工作了。

Ⅲ 如何對Web應用程序進行負載測試

定義測試策略 到目前為止,您肯定參加過這樣的會議,客戶倚靠在寬大的會議桌上,問您:「這個系統能處理上千個用戶嗎?」傳統的負載測試方法要求您編寫腳本並執行測試,以試圖給出此問題的精確答案。對於這種測試,您需要定義「處理」的含義以及 1000 名典型用戶在站點活動時的情形。您需要定義測試用例以代表各種用戶活動:例如,購買股票或注冊新的帳戶。接下來,您必須估計用戶在這些測試用例上的分布。對以下數據進行假設,即模擬真實用戶與應用程序交互時,需要多長的思考時間(或等待時間)。因此,負載測試期間活動的可從某個方面大致反映出同樣數量的真實用戶在站點活動時的情形。 這種方法有幾個不足之處。首先,其結果不會比您做的假設更好。顯然,不正確的假設將使結果出現偏差。 其次,估計真實用戶需要大量客戶端硬體。如果對每名虛擬用戶給定需要的處理能力和內存量,則典型的客戶端計算機可以處理大約 200 名虛擬用戶。因此,對 2000 名用戶並發處理級別的測試需要 10 台客戶端計算機 — 這是一筆重大投資。測試使用 HTTPS 的站點將需要多得多的客戶端硬體。 最終,此方法難以向您的開發團隊提供以操作為導向的信息。當某處出現故障時,常常難以再現該問題。 作為備選方案,我們建議您圍繞以下這些關鍵問題設計測試用例: �6�1 系統瓶頸在哪裡?系統能同步處理多少個並發請求? �6�1 在響應時間變得不可接受之前,一台機器能處理多少名不同步的超級用戶? �6�1 添加額外的硬體時,結果是線形增長的嗎? �6�1 有任何穩定性問題會妨礙站點運行於生產環境中嗎? 此方法將使用開發團隊(此開發團隊參與可能出現問題的領域)提供的附加信息。請關注這些領域。對於上一個示例,其瓶頸可能出在定單提交領域。從這里您可以派生出更具體的問題,例如「提交流程可以同時處理多少個請求?」攻擊這些特定領域是最快且成本最小的方法,用來向開發團隊提供以操作為導向的信息,以便他們能改進系統。在使用這種方法的同時,我們推薦您記住遵循以下建議。 關注負載測試正如我們已提到的那樣,首先要做的是構建導致潛在瓶頸和穩定性問題的腳本。這種「數據第一,假設第二」的方法使您能夠從應用程序收集原始數據,然後根據假設確定更高級別的結果。不用擔心為識別低風險站點的腳本編寫問題。例如,為站點的幫助領域或只讀文檔領域編寫腳本不大可能出現系統瓶頸。 同步請求使用同步請求攻擊瓶頸。此處的這個主意是模擬最壞的情況:即,站點上的用戶精確地在同一時間攻擊瓶頸。通過使用戶同步,您可以重復進行此測試。如果不同步結果,則難以再現故障情況。可以使用同步點做到這一點,同步點是大多數較健壯(成本也較高)的測試工具中提供的一項功能。同步點迫使每名虛擬用戶一直等到剩餘的用戶到達腳本中定義的點後,才能開始下一請求。它允許您精確並重復地確定站點的潛在瓶頸區域能處理的並發用戶數。例如,下限可以是 7 名並發同步用戶。 創建循環測試用例腳本使測試用例循環。在另一種方法中,每次測試用例迭代前後,站點應處於相同狀態。這允許您長時間地重復運行測試用例。 使用超級用戶最後,使用我們所稱的超級用戶。正如前面所提到的,超級用戶運行時思考時間設置為零。請記住,思考時間假設是用於常規測試中,以使虛擬用戶模擬真實用戶。但是,如果將虛擬用戶思考時間減半,則伺服器的實際負載將加倍。在另一種方法中,伺服器真正關心的與負載有關的變數是每秒的請求數。虛擬用戶的數量及其思考時間結合起來生成該負載。 讓我們進行一些數學運算以使此概念更清晰。下面的公式計算訪問站點的真實用戶生成的負載(請求數/秒): 例如,某個站點有 100 名並發用戶,假設下載時間為 10 秒,思考時間為 30 秒,則每秒將生成 2.5 頁。如果我們假設每頁 3 個請求,則在 Web 伺服器上將轉化為每秒 7.5 個請求。 以超級用戶運行測試時,觀察每秒請求數,並與剛剛計算的值比較。根據我們的經驗,真實用戶數與超級用戶數的比例通常約為 15:1。對於同一個示例,這意味著 (100/15) 名超級用戶將生成與 100 名普通用戶相同的負載。再舉一個例子,假設在 10 名超級用戶之後響應時間變得不可接受。請注意轉換回真實用戶數的該點每秒請求數。現在您可以進行任何希望的思考時間假設,甚至可以更改它而無需重新運行測試。在幾天的測試之後,您將能根據直覺從超級用戶數轉換成真實用戶數。此方法允許您保持用戶數可控,減少所需的客戶端硬體數量,並包含負載測試軟體的成本。 這些超級用戶測試用例對於多機測試很有用。要測試站點的可伸縮性,可添加第二台 Web 伺服器和一個負載平衡器,並重復超級用戶測試。理想情況下,在看見相同的相應次數之前,您將能加倍超級用戶數量。 要回答穩定性問題,可運行測試,以在延長的時間段內維持合理數量的並發且未同步超級用戶。我們在上一個項目中熬了很多個通宵,甚至 24 小時晝夜不停,但持續時間與應用程序有關。我們稱之為「內置」測試。一旦您已採取步驟識別並潛在地解決了找到的瓶頸,則重復同步點測試,看下限是否有所增長。然後用所支持的新的並發用戶數重新運行「內置」測試。以努力提高此數字為目標重復該循環,直到達到質量條。 但是有多少用戶呢? 盡管此方法向開發團隊提供了有價值的信息,但它使得您更難於回答會議室的問題。不過,您可以近似地估計答案。例如,假設站點的最壞情況瓶頸顯示,每台計算機多於 20 名超級用戶的情況下,響應時間超過 10 秒。根據您從我們建議的公式計算的結果,近似地估計有 300 名真實用戶(20 名超級用戶 × 15 名真實用戶)。此時,您可以做出與常規用例中相同的假設。通常情況下,有百分之多少的用戶正在使用站點的此領域?假設預期 50% 的用戶正在使用此領域,而其他領域,例如文檔或資料庫讀取,用戶比例則沒有這么大。這意味著具有一台 Web 伺服器的系統將處理大約 600 名用戶。 到目前為止,我們已討論了在能明確地指向站點的一個瓶頸領域的情況下該如何做,但如果影響性能的領域不止一個時您又應如何做呢?答案是創建單獨查看各個領域的測試腳本。首先孤立地運行這些腳本,然後一起運行。再比較結果,看站點的一個領域對另一個領域的影響有多大。

Ⅳ 如何查看伺服器當前的負載信息

方法一:
通過top命令來查看伺服器負載

再對此Linux伺服器性能分析之前,先了解下Linux系統Load average負載的知識,負載均值在 uptime 或者top 命令中可以看到,
方法二:輸入 iostat -x -k -t

說明:%util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的。
即 delta(use)/s/1000 (因為use的單位為毫秒)
如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸。
方法三:
如果玩游戲很卡,可以用hdparm –t /dev/磁碟名稱來測試磁碟性能是否達標,下圖是單個希捷1T的盤測試的結果

說明:sd表示硬碟是SATA,SCSI或者SAS,a表示串口的第一塊硬碟

Ⅳ 如何計算WEB伺服器的最大負載量

圖1顯示了該演算法的工作環境,在負載調度器上運行Monitor Daemon進程,Monitor Daemon來監視和收集各個伺服器的負載信息。Monitor Daemon可根據多個負載信息算出一個綜合負載值。Monitor Daemon將各個伺服器的綜合負載值和當前權值算出一組新的權值,若新權值和當前權值的差值大於設定的閥值,Monitor Daemon將該伺服器的權值設置到內核中的IPVS調度中,而在內核中連接調度一般採用加權輪叫調度演算法或者加權最小連接調度演算法。圖1:動態反饋負載均衡演算法的工作環境連接調度當客戶通過TCP連接訪問網路訪問時,服務所需的時間和所要消耗的計算資源是千差萬別的,它依賴於很多因素。例如,它依賴於請求的服務類型、當前網路帶寬的情況、以及當前伺服器資源利用的情況。一些負載比較重的請求需要進行計算密集的查詢、資料庫訪問、很長響應數據流;而負載比較輕的請求往往只需要讀一個HTML頁面或者進行很簡單的計算。請求處理時間的千差萬別可能會導致伺服器利用的傾斜(Skew),即伺服器間的負載不平衡。例如,有一個WEB頁面有A、B、C和D文件,其中D是大圖像文件,瀏覽器需要建立四個連接來取這些文件。當多個用戶通過瀏覽器同時訪問該頁面時,最極端的情況是所有D文件的請求被發到同一台伺服器。所以說,有可能存在這樣情況,有些伺服器已經超負荷運行,而其他伺服器基本是閑置著。同時,有些伺服器已經忙不過來,有很長的請求隊列,還不斷地收到新的請求。反過來說,這會導致客戶長時間的等待,覺得系統的服務質量差。簡單連接調度簡單連接調度可能會使得伺服器傾斜的發生。在上面的例子中,若採用輪叫調度演算法,且集群中正好有四台伺服器,必有一台伺服器總是收到D文件的請求。這種調度策略會導致整個系統資源的低利用率,因為有些資源被用盡導致客戶的長時間等待,而其他資源空閑著。實際TCP/IP流量的特徵文獻說明網路流量是呈波浪型發生的,在一段較長時間的小流量後,會有一段大流量的訪問,然後是小流量,這樣跟波浪一樣周期性地發生。文獻揭示在WAN和LAN上網路流量存在自相似的特徵,在WEB訪問流也存在自相似性。

Ⅵ 如何測試web伺服器的網速

電腦進入運行程序,輸入CMD,然後鍵入ping+空格+你的IP地址(+號無需輸入),按回車鍵就可以了。
如果是聯通寬頻用戶,可登陸網上營業廳www.10010.com 後,首頁點擊「我的聯通」-「便民服務」-「寬頻測速」,即可根據頁面提示信息進行測速。也可以使用寬頻號碼登錄聯通手機營業廳客戶端——查詢——寬頻業務查詢——立即測試(「寬頻測速」業務不支持免流)。
溫馨提示:以上路徑以網上營業廳實際顯示信息為准。

閱讀全文

與怎麼測試web伺服器負載相關的資料

熱點內容
有兩個項目要部署在雲伺服器上 瀏覽:930
信源編解碼器的作用 瀏覽:919
remove命令linux 瀏覽:599
php發送郵件鏈接 瀏覽:34
創維冰箱壓縮機 瀏覽:869
nginxopenssl交叉編譯 瀏覽:750
相機卡無法創建新文件夾 瀏覽:225
單片機照明控制系統程序代碼 瀏覽:10
服務編程一體化 瀏覽:471
tx小霸王伺服器是什麼意思 瀏覽:545
計算機編程工齡工資怎麼算 瀏覽:491
macandroid配置環境變數 瀏覽:854
做項目文件夾的圖標 瀏覽:327
數控車床車軸編程教程 瀏覽:728
怎麼解壓截圖軟體 瀏覽:885
演算法符號橢圓 瀏覽:174
網路螞蟻app是什麼 瀏覽:273
php面向對象編程開發 瀏覽:798
唱吧如何解綁其他app 瀏覽:318
程序員去工廠好嗎 瀏覽:497