使用Golang语言实现压测可以借助一些库和工具来完成。以下是一个简单的示例:
package main
import (
"fmt"
"net/http"
"sync"
"time"
)
func sendRequest(url string, wg *sync.WaitGroup) {
defer wg.Done()
start := time.Now()
resp, err := http.Get(url)
if err != nil {
fmt.Printf("Error sending request: %s\n", err.Error())
return
}
defer resp.Body.Close()
duration := time.Since(start).Milliseconds()
fmt.Printf("Response status code: %d, Response time: %d ms\n", resp.StatusCode, duration)
}
func main() {
url := "http://example.com" // 设置要压测的URL地址
numRequests := 100 // 设置并发请求数量
var wg sync.WaitGroup
wg.Add(numRequests)
for i := 0; i < numRequests; i++ {
go sendRequest(url, &wg)
}
wg.Wait()
}
以上代码通过使用http包发送HTTP请求,并使用sync.WaitGroup来等待所有请求完成。你可以根据需要自定义并发请求数量、URL地址等参数。
请注意,在进行真实的压力测试之前,请确保你已经了解目标系统的性能容量,并且遵循合理的测试策略,以避免对目标系统造成不必要的负荷或影响。
内容由零声教学AI助手提供,问题来源于学员提问




