怎么用go配置mysql连接池
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"怎么用go配置mysql连接池",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用go配置mysql连接池"吧!go配置mysql
千家信息网最后更新 2026年11月03日怎么用go配置mysql连接池
这篇文章主要讲解了"怎么用go配置mysql连接池",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用go配置mysql连接池"吧!
go配置mysql连接池
mysql配置文档
max-connections=10000
代码
orm
1.ab 发起并发请求测试
-c: 并发量100
-n: 总请求量300
➜ ~ ab -c 100 -n 300 "http://localhost:8080/pool"This is ApacheBench, Version 2.3 <$Revision: 1826891 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking localhost (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsFinished 300 requestsServer Software:Server Hostname: localhostServer Port: 8080Document Path: /poolDocument Length: 304 bytesConcurrency Level: 100Time taken for tests: 4.073 secondsComplete requests: 300Failed requests: 0Total transferred: 128400 bytesHTML transferred: 91200 bytesRequests per second: 73.66 [#/sec] (mean)Time per request: 1357.601 [ms] (mean)Time per request: 13.576 [ms] (mean, across all concurrent requests)Transfer rate: 30.79 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 0 2 2.2 1 8Processing: 1001 1012 8.2 1010 1036Waiting: 1001 1012 8.1 1010 1036Total: 1002 1014 9.5 1012 1043Percentage of the requests served within a certain time (ms) 50% 1012 66% 1016 75% 1019 80% 1021 90% 1031 95% 1035 98% 1039 99% 1040 100% 1043 (longest request)➜ ~
2.PoolHandler 中触发sql查询
设置空闲连接为10个
最大可以打开的连接为10个 mysql.conf中可以修改最大连接数.
db/db.go
sqlDB.SetMaxIdleConns(10) // SetMaxOpenConns 设置打开数据库连接的最大数量。 sqlDB.SetMaxOpenConns(10) // SetConnMaxLifetime 设置了连接可复用的最大时间。 sqlDB.SetConnMaxLifetime(time.Hour)
controller/pool.go
func PoolHandler(c *gin.Context) { time.Sleep(time.Second) var user model.User tx := db.DB.Raw("SELECT id, name, age FROM users WHERE name = ? limit 1", "D42").Scan(&user) if tx.Error != nil { panic(tx.Error) } logger.Debugf("raw sql id:%v name:%v age:%v", user.ID, user.Name, user.Age) c.JSON(200, user)}3.查看测试过程中请求mysql创建的请求
SHOW PROCESSLIST;
Id User Host db Command Time State Info8 root localhost:51148 demo_go Query 0 starting SHOW PROCESSLIST900 root localhost:64598 demo_go Sleep 0 901 root localhost:64754 demo_go Sleep 0 902 root localhost:64755 demo_go Sleep 0 903 root localhost:64756 demo_go Sleep 0 904 root localhost:64757 demo_go Sleep 0 905 root localhost:64758 demo_go Sleep 0 906 root localhost:64759 demo_go Sleep 0 907 root localhost:64760 demo_go Sleep 0 908 root localhost:64761 demo_go Sleep 0 909 root localhost:64762 demo_go Sleep 0
感谢各位的阅读,以上就是"怎么用go配置mysql连接池"的内容了,经过本文的学习后,相信大家对怎么用go配置mysql连接池这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
配置
最大
学习
内容
测试
代码
就是
思路
情况
数据
数据库
数量
文档
文章
时间
更多
知识
知识点
空闲
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手冲咖啡和咖啡机区别
广东猪兼强互联网科技有限公司
互联网科技工作委员会主任
金融科技还是互联网
互联网 的科技创新
互联网 新科技
人人互联网科技是培训
科技伦理 互联网公司
中正互联网科技招聘
新华互联网科技校企合作
成都仁贤领冠互联网科技有限公司
互联网巨头投资的硬核科技
隆华科技工业互联网
金融科技与互联网金融相同和不同
科技互联网大厂
语蝶互联网科技有限公司
互联网第三次科技革命特征
互联网高科技行业有哪些企业
北京品多多互联网科技有限公司
株洲百竞科技的互联网营销顾问
科技与互联网发展
凡科互联网科技
狮子座互联网科技有限公司
济南华为互联网科技产业总部基地
互联网校园科技培训
互联网科技研发水平
中国互联网十大科技股排名
产业互联网科技服务公司
瑞安市蟠桃会互联网科技有限公司
知域互联网科技有限公司官网