invalid argument при попытке выполнить http запрос. Golang

Есть такой скрипт. Он мне нужен для нагрузочного тестирования:

package main

import (
    "fmt"
    "log"
    "net/http"
    "sync"
    "time"

    "github.com/BurntSushi/toml"
)

type Config struct {
    Urls              []string `toml:"urls"`
    Token             string   `toml:"token"`
    ActiveConnections int      `toml:"activeConnections"`
}

func makeRequest(url string, token string) {
    client := &http.Client{}
    for {
        req, err := http.NewRequest("GET", url, nil)
        if err != nil {
            fmt.Println(err)
            return
        }

        req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token))

        t0 := time.Now()
        resp, err := client.Do(req)
        if err != nil {
            fmt.Println(err)
        } else {
            t1 := time.Now()
            fmt.Printf("Url: %s. Time: %v. %s\n", url, t1.Sub(t0), resp.Status)
        }
    }
}

func main() {
    http.DefaultClient.Timeout = time.Second * 10
    config := Config{}
    _, err := toml.DecodeFile("./config.toml", &config)
    if err != nil {
        log.Fatal(err)
    }

    var wg sync.WaitGroup
    wg.Add(1)
    for i := 0; i < config.ActiveConnections; i++ {
        for _, url := range config.Urls {
            go makeRequest(url, config.Token)
        }
    }
    wg.Wait()
}

Всё что он делает это спамит http запросами на указанные url. Сначала всё работает окей, но через некоторое время в консоли появляется такая ошибка:

Get <my_url>: dial tcp: lookup <my_domain>: invalid argument

<my_url> и <my_domain> я написал вместо реальных значений. Эта ошибка возвращается при client.Do(req). Я не понимаю почему так происходит и что я должен сделать чтобы оно перестало так делать. Я пробовал на 1.15 и 1.16 версии, а также на разных url, проблема воспроизводится везде. Правда иногда раньше, иногда позже. Ubuntu 20.04

Update: Забыл сказать, что эта ошибка сыплется на все запросы после её появления. А если скрипт остановить и сразу же запустить то снова всё ок на какое-то время


Ответы (0 шт):