Websocket压测
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Websocket压测相关的知识,希望对你有一定的参考价值。
参考技术A 安装教程1:https://www.cnblogs.com/zmsn/p/11466309.html
安装教程2:
https://help.aliyun.com/document_detail/93627.html?spm=5176.7946858.1219570.6.f6fc2542CzlJZ6
参考以上安装教程2:
一个请求可能对用多个响应,最好才用request-response;
https://docs.locust.io/en/stable/
参考: https://blog.csdn.net/u010481688/article/details/89083239
1)在scripts目录下,执行locust -f ***.py --host= http://0.0.0.0:0000(--host 测试的http服务的ip和port);
2)打开浏览器,如何是本机访问输入 http://localhost:8089/ ,输入想要并发的人数以及虚拟用户初始化的比例;
已保存文件至git仓库。
golang websocket压测示例
package main
import (
"flag"
"fmt"
"log"
"net/url"
"time"
"github.com/gorilla/websocket"
)
//根据自身情况修改服务器ip地址
var addr = flag.String("addr", "localhost:12345", "http service address")
func main()
succCount := 0
failCount := 0
//建立1000个websocket连接请求某数据
for i := 1; i < 1000; i++
u := url.URLScheme: "wss", Host: *addr, Path: "/ws"
log.Println(u.String())
conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
if err != nil
log.Println(err)
failCount++
fmt.Println("Number of dialing failures:", failCount)
fmt.Println("Number of dialing fail:", err)
time.Sleep(time.Second)
continue
defer conn.Close()
succCount++
fmt.Println("Number of successful connections:", succCount)
go Client(conn)
//Stop here to prevent the program from exiting
tick :=
以上是关于Websocket压测的主要内容,如果未能解决你的问题,请参考以下文章