来来来!大家来分析下根据这些报告,如何配好连接池(redis,mysql)!

2021-05-20 17:55:02 +08:00
 gy123

在做教育类业务 app. 1.一般早晚高峰查看阿里 slb 负载均衡 QPS 在 200 左右,后面是两台机器,4 核 16G;然后每台机器部署了 3 台 tomcat,跑的相同的程序,只是根据客户端分了三个不同端口,不知道为什么这么做; 2.基本上机器 cpu,内存占用不太高 3.redis 部署在其中一台机器上,跑的单机,目前是存 token 和验证码等,还有一些其他数据,占用 400m 左右 4.数据库使用的阿里的云数据库 PolarDB,兼容 mysql,其指标如图,一天的;

然后就是看到 jedis 的最大连接数设置到了 8000; mysql 的连接池是我后换的,之前是 druid,不过参数我没动,最大连接数是 5000;

也看过一些相关文章,大家讨论下,根据现在的指标怎么设置比较好呢?就按现有指标来,也别说啥压测之类的了,按高峰期算;

1936 次点击
所在节点    程序员
15 条回复
Vegetable
2021-05-20 18:07:01 +08:00
200QPS 做到 5000 链接?
gy123
2021-05-20 18:13:07 +08:00
@Vegetable 我也是惊了,就算一个请求多个数据库操作,也不至于这么多啊...
bemyself
2021-05-20 18:51:02 +08:00
连接里有 TIMEWAIT 的吧,我猜。。。
CEBBCAT
2021-05-20 19:43:04 +08:00
实际用了多少连接?查询平均时间是多少?有慢查询吗?

---
阿里云后台给我,我上去看 XD
gy123
2021-05-21 07:28:01 +08:00
@CEBBCAT 那肯定不行啦...查询平均都在 1s 以下,没有慢查询;
gy123
2021-05-21 07:29:46 +08:00
感觉好多人都是乱配的吧~
gy123
2021-05-21 07:32:12 +08:00
@CEBBCAT 看了下主节点连接数在一千多.
cnzjl
2021-05-21 09:37:08 +08:00
这些参数大多人都是乱配的,或者根据网上的,也没什么思考,就直接写了,我也是这么干的- -.
gy123
2021-05-21 10:11:28 +08:00
@cnzjl 哈哈哈,不思考下次面试还是不好回答,项目中倒是没啥影响..
lienxu
2021-05-21 14:19:59 +08:00
参考一下 tps, 事务时间 ,5000 得支持多少 tps 啊
CEBBCAT
2021-05-21 15:25:36 +08:00
@gy123 #5 查询时间可以做更详细的统计,我想这是一个细活。

也许你可以先拿出来 QPS 、请求延时、请求成功状态,数据库 QPS 、连接数、CPU 压力、IO 压力等等图标,然后观察之间的关系。对于慢查询,你也许可以把阈值设置到 100ms,然后再看看。

再接下来的一步,也许你可以本地搭建起来相关的环境做实验,验证参数调教的作用。

也挺谢谢你这个帖子的,我之前也没想过相关的事,分享昨天 Google 出的一篇博客给你: https://dzone.com/articles/professional-connection-pool

你也许可以用“performance connection pool size” 或者 “tuning connection pool size” 来找到更多文章
CEBBCAT
2021-05-21 15:26:30 +08:00
@CEBBCAT #11 "等等图标" -> "等等图表"
gy123
2021-05-21 20:48:27 +08:00
gy123
2021-05-22 11:59:08 +08:00
人呢人呢..真大佬人呢
gy123
2021-05-23 19:18:12 +08:00
我去,这就沉了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/778202

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX