怎么用go配置mysql连接池
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章主要讲解了"怎么用go配置mysql连接池",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用go配置mysql连接池"吧!go配置mysql
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
数据库的findall
委外费用和软件开发费用
服务器反应慢
我的世界隐身服务器指令
广州计算机软件开发价位
未来网络技术有哪些
思科网络技术论文6
房山服务器回收估价
浙江cdma主时钟服务器
楚雄彝族自治州新华互联网科技
局域网电影服务器架设
山东省济南服务器怎么收费
软件开发项目管理方案实例
支付宝查询大数据库
北京app软件开发哪家强
网络安全与法治建设
天天炫拍服务器出问题了吗
中科院遥感数据库
java怎么读取数据库
查询上证指数的数据库
装u8需要装数据库吗
服务器串线
五年制大专电子网络技术好就业吗
旧台式电脑主机改造服务器
oracle数据库 书
国防科技大学网络安全技术怎样
数据库 r n
db2更改数据库字段类型
网络安全导论课程资源包
网络安全工程师天才少年