数据库访问的缓存与最大连接数

Bryce · · 1934 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

今天查看我写的错误日志,里面报出了Too many connections这个错误。没见过啊,果断去问我大哥,他说是连接数的问题。我又去看之前已经上线的我的代码,才想起来数据库连接需要设置最大连接数的。当连接数超过范围之后,就是报这个错误。

我用的是xorm作为ORM工具,直接使用engine.SetMaxConns(dbMaxConns)就能设置最大连接数。

后来,又优化了一下缓存。一般ORM还是支持缓存机制的。如果缓存命中,就不会去数据库查找数据了,而是会直接返回。添加缓存需要增加缓存时间和最大缓存数。

cacher := xorm.NewLRUCacher2(xorm.NewMemoryStore(), time.Duration(interval)*time.Second, max)
engine.SetDefaultCacher(cacher)

很简单的问题,但是老是忘记加。今天用wrk对项目做了简单的压力测试,就出了这个问题。以前一直觉得压力测试就是用来测性能的,今天有了新的认识。

原文链接:数据库访问的缓存与最大连接数,转载请注明来源!


有疑问加站长微信联系(非本文作者)

本文来自:Cyeam

感谢作者:Bryce

查看原文:数据库访问的缓存与最大连接数

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1934 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传