Go 语言使用 gorm 对 MySQL 进行性能测试
之前写过了Go语言gorm框架MySQL实践,其中对 gorm 框架在操作 MySQL 的各种基础实践,下面分享一下如何使用 gorm 框架对 MySQL 直接进行性能测试的简单实践。
框架支持
这里我使用了一个原始的 Go 语言版本的FunTester
测试框架,现在只有一个基本的方法,实在是因为 Go 语言特性太强了。框架设计的主要思路之一就是利用 Go 语言的闭包和方法参数特性,将一个func()
当做性能测试的主题,通过不断运行这个func()
来实现性能测试。当然还有另外一个思路就是运行一个多线程任务类,类似Java
版本的com.funtester.base.constaint.ThreadBase
抽象类,这样可以设置一些类的属性,绑定一些测试资源,适配更多的测试场景。
select
下面演示 select 的性能测试,这里我用了随机 ID 查询的场景。
delete
这里我使用从 35 开始递增的 ID 进行删除。
update
这里使用了 select 的用例部分,随机 ID,然后更新 name 字段,随机 10 个长度的字符串。
inset
这里用到了FunTester
字段都是随机生成。
FunTester 构造方法
到这里可以看出,性能测试框架用到的都是 gorm 框架的基础 API 使用,这里 MySQL 连接池的管理工作完全交给了 gorm 框架完成,看资料说非常牛逼,我们只需要设置几个参数。这个使用体现很像HttpClient
设置HTTP
连接池类似,这里我们也可以看出这些优秀的框架使用起来都是非常简单的。
PS:关于 gorm 的基础使用的请参考上一期的文章Go语言gorm框架MySQL实践。
Have Fun ~ Tester !
版权声明: 本文为 InfoQ 作者【FunTester】的原创文章。
原文链接:【http://xie.infoq.cn/article/11486df406b117318b1a34d5a】。文章转载请联系作者。
评论