作者:迷蒙的天蝎 | 来源:互联网 | 2023-08-04 09:32
golang-对redis进行压力测试
用golang来检测redis的qps。
直接上代码吧!
package main
import (
"fmt"
"github.com/garyburd/redigo/redis"
"sync"
"time"
)
var(
Pool redis.Pool //连接池
oSynWait sync.WaitGroup //互斥锁
)
const (
OnMaxRun= 10000 //单线程执行命令数
AllMaxRun = 50 //并发数
TimeFormat = "2006-01-02 15:04:05.999" //打印时间
Type = "set" //指令类型
)
func main() {
fmt.Println("--------------------------redis压力测试--------------------------")
GetPool(&Pool)
OldTime := time.Now()
fmt.Println("开始",OldTime.Format(TimeFormat))
oSynWait.Add(AllMaxRun)
for i := 0; i
结果
和redis自带的测试结果差不多哈。
![在这里插入图片描述](https://img1.php1.cn/3cdc5/3345/8fd/887c7666e40c0b56.png)
注意
1.请确保电脑性能能跟的上,在只有单核,2G内存的虚拟机上协程没能完全跑起来,数值很低。
2.并发设置:大概30-50就合适了,多了获得的结果也差不多。