123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package server
- import (
- "fmt"
- "log"
- "strconv"
- "testing"
- "time"
- "github.com/google/uuid"
- "github.com/gorilla/websocket"
- )
- func BenchmarkTest1(b *testing.B) {
- fmt.Println(b.N)
- for i := 0; i < b.N; i++ {
- _ = fmt.Sprintf("%d", i)
- }
- }
- func BenchmarkServer_WebsocketPressure(b *testing.B) {
- b.ReportAllocs()
- b.ResetTimer()
- b.SetParallelism(10)
- fmt.Println(b.N)
- b.RunParallel(func(p *testing.PB) {
- for p.Next() {
- websocketConnect()
- }
- })
- }
- func websocketConnect() {
- conn, _, err := websocket.DefaultDialer.Dial(
- fmt.Sprintf(`ws://127.0.0.1:10082/websocket/endpoint?X-Websocket-Header-ID=%s`, uuid.NewString()),
- // fmt.Sprintf(`ws://106.75.230.4:10082/websocket/endpoint?X-Websocket-Header-ID=%s`, uuid.NewString()),
- nil)
- if err != nil {
- log.Println(err)
- }
- defer conn.Close()
- message := Message{Type: MessageTypePingPong, RequestId: strconv.Itoa(int(time.Now().UnixMilli())), Content: "ping"}
- conn.SetWriteDeadline(time.Now().Add(time.Second * 60))
- err = conn.WriteMessage(websocket.TextMessage, serializationMessage(&message))
- if err != nil {
- log.Println(err)
- }
- go func() {
- for {
- //conn.SetReadDeadline(time.Now().Add(time.Second * 2))
- _, _, err = conn.ReadMessage()
- if err != nil {
- log.Println(err)
- return
- }
- //conn.SetReadDeadline(time.Now().Add(time.Second * 2))
- //log.Println(string(msg))
- }
- }()
- }
|