怎么用go配置mysql连接池
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,这篇文章主要讲解了"怎么用go配置mysql连接池",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么用go配置mysql连接池"吧!go配置mysql
千家信息网最后更新 2025年02月08日怎么用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安全错误
数据库的锁怎样保障安全
用友广信网络技术有限公司
少先队组织信息数据库每周课时数
网络安全工程师分哪些岗位
小白文件管理器连接服务器
安卓扑克游戏软件开发
后端数据库和程序
网络安全检查表表格
安全数据库中没有此计算机
网络安全防范有哪些方法
有道网络技术股份有限公司
大华售后服务器
恒大 软件开发岗
计算机三级网络技术靠刷题过
辽宁潮流软件开发服务参考价格
饥荒服务器存档和关闭指令
客户机 服务器系统简称
软件开发cmmi过程
杭州网络技术公司名单
vpn服务器协议失败
服务器怎么散热
网络技术基础讲解
软件开发的基本术语
天玥服务器磁盘阵列
网络安全小儿歌
网络安全幼儿园展板
网络安全和威胁体现在哪里
数据库系统工程师招聘 上海
网络安全培训服务内容
数据库与管理信息系统论文
举办网络安全讲座主题