產(chǎn)品體驗中心 下載與支持 產(chǎn)品社區(qū) 澤眾云   合作代理 |  咨詢電話:400-035-7887/021-6072 5088

什么是WebSocket?有哪些支持WebSocket協(xié)議的壓力測試工具?

發(fā)布時間:2020-07-10

什么是WebSocket?其實,HTTP和WebSocket都是客戶端-服務(wù)器通信中使用的通信協(xié)議。WebSocket壓力測試怎么做?有哪些支持WebSocket協(xié)議的壓力測試工具?今天小編就帶大家來了解一下吧!

壓力測試

HTTP協(xié)議

HTTP是單向的,客戶端發(fā)送請求,服務(wù)器發(fā)送響應(yīng)。舉例來說,當客戶端向服務(wù)器發(fā)送請求時,該請求以HTTP或HTTPS的形式發(fā)送,在接收到請求后,服務(wù)器會將響應(yīng)發(fā)送給客戶端。每個請求都與一個對應(yīng)的響應(yīng)相關(guān)聯(lián),在發(fā)送響應(yīng)后客戶端與服務(wù)器的連接會被關(guān)閉。每個HTTP或HTTPS請求每次都會新建與服務(wù)器的連接,并且在獲得響應(yīng)后,連接將自行終止。

HTTP是在TCP之上運行的無狀態(tài)協(xié)議,TCP是一種面向連接的協(xié)議,它使用三向握手方法保證數(shù)據(jù)包傳輸?shù)膫鬟f并重新傳輸丟失的數(shù)據(jù)包。

HTTP可以運行在任何可靠的面向連接的協(xié)議(例如TCP,SCTP)的上層。當客戶端將HTTP請求發(fā)送到服務(wù)器時,客戶端和服務(wù)器之間將打開TCP連接,并且在收到響應(yīng)后,TCP連接將終止,每個HTTP請求都會建立單獨的TCP連接到服務(wù)器,例如如果客戶端向服務(wù)器發(fā)送10個請求,則將打開10個單獨的HTTP連接。并在獲得響應(yīng)后關(guān)閉。

HTTP協(xié)議的長連接和短連接,實質(zhì)上是TCP協(xié)議的長連接和短連接。

每個HTTP連接完成后,其對應(yīng)的TCP連接并不是每次都會關(guān)閉。從 HTTP/1.1起,默認使用長連接,用以保持連接特性。使用長連接的HTTP協(xié)議,會在響應(yīng)頭有加入這個頭部字段:Connection:keep-alive

在使用長連接的情況下,當一個網(wǎng)頁打開完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會關(guān)閉,如果客戶端再次訪問這個服務(wù)器上的網(wǎng)頁,會繼續(xù)使用這一條已經(jīng)建立的連接。Keep-Alive不會永久保持連接,它有一個保持時間,可以在不同的服務(wù)器軟件(如Apache,Nginx,Nginx中這個默認時間是 75s)中設(shè)定這個時間。實現(xiàn)長連接要客戶端和服務(wù)端都支持長連接。

HTTP屬于應(yīng)用層協(xié)議,在傳輸層使用TCP協(xié)議,在網(wǎng)絡(luò)層使用IP協(xié)議。IP協(xié)議主要解決網(wǎng)絡(luò)路由和尋址問題,TCP協(xié)議主要解決如何在`IP層之上可靠的傳遞數(shù)據(jù)包,使在網(wǎng)絡(luò)上的另一端收到發(fā)端發(fā)出的所有包,并且順序與發(fā)出順序一致。TCP有可靠,面向連接的特點。

HTTP消息信息是用ASCII編碼的,每個HTTP請求消息均包含HTTP協(xié)議版本(HTTP/1.1,HTTP/2),HTTP方法(GET/POST等),HTTP標頭(Content-Type,Content-Length),主機信息等。以及包含要傳輸?shù)椒?wù)器的實際消息的正文(請求主體)。HTTP標頭的大小從200字節(jié)到2KB不等,HTTP標頭的常見大小是700-800字節(jié)。當Web應(yīng)用程序在客戶端使用更多cookie和其他工具擴展代理的存儲功能時,它將減少HTTP標頭的荷載。

什么是WebSocket,它與HTTP有何不同?

WebSocket協(xié)議

WebSocket是雙向的,在客戶端-服務(wù)器通信的場景中使用的全雙工協(xié)議,與HTTP不同,它以ws://或wss://開頭。它是一個有狀態(tài)協(xié)議,這意味著客戶端和服務(wù)器之間的連接將保持活動狀態(tài),直到被任何一方(客戶端或服務(wù)器)終止。在通過客戶端和服務(wù)器中的任何一方關(guān)閉連接之后,連接將從兩端終止。

讓我們以客戶端-服務(wù)器通信為例,每當我們啟動客戶端和服務(wù)器之間的連接時,客戶端-服務(wù)器進行握手隨后創(chuàng)建一個新的連接,該連接將保持活動狀態(tài),直到被他們中的任何一方終止。建立連接并保持活動狀態(tài)后,客戶端和服務(wù)器將使用相同的連接通道進行通信,直到連接終止。

新建的連接被稱為WebSocket。一旦通信鏈接建立和連接打開后,消息交換將以雙向模式進行,客戶端-服務(wù)器之間的連接會持續(xù)存在。如果其中任何一方(客戶端服務(wù)器)宕掉或主動關(guān)閉連接,則雙方均將關(guān)閉連接。套接字的工作方式與HTTP的工作方式略有不同,狀態(tài)代碼101表示W(wǎng)ebSocket中的交換協(xié)議。

使用WebSocket的場景

即時Web應(yīng)用程序:即時Web應(yīng)用程序使用一個Web套接字在客戶端顯示數(shù)據(jù),這些數(shù)據(jù)由后端服務(wù)器連續(xù)發(fā)送。在WebSocket中,數(shù)據(jù)被連續(xù)推送/傳輸?shù)揭呀?jīng)打開的同一連接中,這就是為什么WebSocket更快并提高了應(yīng)用程序性能的原因。例如在交易網(wǎng)站或比特幣交易中,這是最不穩(wěn)定的事情,它用于顯示價格波動,數(shù)據(jù)被后端服務(wù)器使用Web套接字通道連續(xù)推送到客戶端。

游戲應(yīng)用程序:在游戲應(yīng)用程序中,你可能會注意到,服務(wù)器會持續(xù)接收數(shù)據(jù),而不會刷新用戶界面。屏幕上的用戶界面會自動刷新,而且不需要建立新的連接,因此在WebSocket游戲應(yīng)用程序中非常有幫助。

聊天應(yīng)用程序:聊天應(yīng)用程序僅使用WebSocket建立一次連接,便能在訂閱戶之間交換,發(fā)布和廣播消息。它重復(fù)使用相同的WebSocket連接,用于發(fā)送和接收消息以及一對一的消息傳輸。

不能使用WebSocket的場景

如果我們需要通過網(wǎng)絡(luò)傳輸?shù)娜魏螌崟r更新或連續(xù)數(shù)據(jù)流,則可以使用WebSocket。如果我們要獲取舊數(shù)據(jù),或者只想獲取一次數(shù)據(jù)供應(yīng)用程序使用,則應(yīng)該使用HTTP協(xié)議,不需要很頻繁或僅獲取一次的數(shù)據(jù)可以通過簡單的HTTP請求查詢,因此在這種情況下最好不要使用WebSocket。

注意:如果僅加載一次數(shù)據(jù),則RESTful Web服務(wù)足以從服務(wù)器獲取數(shù)據(jù)。

WebSocket技術(shù)應(yīng)用特別廣泛,并發(fā)測試必不可少;壓力測試工具PerformanceRunner是國內(nèi)領(lǐng)先的支持http、https、websocket、tcp/ip、MQ等各種協(xié)議、10萬+海量并發(fā)、精準可靠的性能測試工具,極大地降低了應(yīng)用系統(tǒng)運行風(fēng)險。支持常用的HTTP,HTTPS,TCP/IP,UDP;WebService,MQ,Socket等多種協(xié)議混合測試;模擬多種測試場景,單場景,多腳本混合場景,百分比分配模式,遞增模型,穩(wěn)定性模型等;場景設(shè)計視圖可為場景添加虛擬用戶的數(shù)量以及虛擬用戶啟動、停止的規(guī)則;可建立基準、負載、配置、穩(wěn)定性等單場景和組合場景。

推薦閱讀:

測試MySQL性能的工具有哪些?MySQL性能測試工具對比

性能壓測概念及性能壓測工具對比選型

企業(yè)為什么需要做全鏈路壓測?全鏈路壓測能解決什么問題?

接口壓力測試怎么才能做好?接口壓力測試要點

cs項目怎么做性能測試?cs性能測試跟bs有什么區(qū)別?

服務(wù)器壓力測試是什么?服務(wù)器壓力測試工具有哪些?

軟件性能測試指標有哪些?做性能測試前注意事項

怎樣進行數(shù)據(jù)庫性能測試?數(shù)據(jù)庫壓力測試的幾個步驟

大型web網(wǎng)站壓力測試技巧及常見的web頁面性能測試工具

本文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。
滬ICP備07036474號 2003-2024 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨詢

添加客服微信 歡迎咨詢測試工具和測試服務(wù)

微信客服
問題
反饋
產(chǎn)品
畫冊

掃描二維碼下載澤眾軟件企業(yè)宣傳冊

產(chǎn)品畫冊
返回
頂部

方案咨詢

×
提交信息

電話咨詢,400-035-7887,安排專業(yè)技術(shù)售前給您解答(產(chǎn)品試用、技術(shù)交流、服務(wù)咨詢和商務(wù)報價)。

您的信息已成功提交!

我們的客服人員稍后會與您聯(lián)系