免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: mordorwww
打印 上一主题 下一主题

请教专家们一个mysql连接池和性能的问题 [复制链接]

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
11 [报告]
发表于 2016-06-14 09:01 |只看该作者
本帖最后由 mordorwww 于 2016-06-14 09:01 编辑
action08 发表于 2016-06-14 08:52
这种服务架构一般都有负载均衡的说,淘宝请了lvs的大牛,不过这博士最近跑滴滴了,不知道给了什么好处



我是说单台服务器啊,连接数为什么要限制的那么少呢
如果单台服务器就能支持5000用户,你为什么要两台服务器每台2500用户呢

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
12 [报告]
发表于 2016-06-14 09:04 |只看该作者
本帖最后由 mordorwww 于 2016-06-14 09:06 编辑
lyhabc 发表于 2016-06-12 18:00
每个时刻无法支持65535用户同一时刻,要排队


对于每个CPU核/VCPU来说,排队当然要排队。
问题是并发数,在一个数据库事务完成以前,我要能去处理下一个用户请求,而不是要等这个事务完成了我才能去处理下一个用户请求

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
13 [报告]
发表于 2016-06-14 09:05 |只看该作者
action08 发表于 2016-06-14 08:51
如果一个应用服务器的并发量很大,比如同时有70000个用户的业务需要同时访问mysql


瓶颈是在CPU上?CPU 100%?

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
14 [报告]
发表于 2016-06-14 21:30 |只看该作者
本帖最后由 action08 于 2016-06-14 21:32 编辑

回复 11# mordorwww


    这服务器纯负载均衡服务,也不能归类到mysql server
这个访问量会提高几个数量级别的,不同机器配置不一样,我说的是nginx web服务,不是负载均衡的说



你可以看看haproxy
这里有个课程,绝对专家讲解
http://open.sina.com.cn/course/id_255/lesson_3495/

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
15 [报告]
发表于 2016-06-14 21:47 |只看该作者
回复 13# mordorwww


    对于mysql来说,一般性能压力出现在io,
有些工作应该由研发来主导,毕竟涉及一个业务代码的问题。



当然你也先清楚自己的项目,承载的业务规模,访问量数据量等等

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
16 [报告]
发表于 2016-06-15 14:58 |只看该作者
action08 发表于 2016-06-14 21:47
回复 13# mordorwww


既然性能压力都在IO上,有没有把mysql的数据存储在ceph之类的分布式块存储上的做法?

论坛徽章:
223
2022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32操作系统版块每日发帖之星
日期:2016-05-10 19:22:58操作系统版块每日发帖之星
日期:2016-02-18 06:20:00操作系统版块每日发帖之星
日期:2016-03-01 06:20:00操作系统版块每日发帖之星
日期:2016-03-02 06:20:0015-16赛季CBA联赛之上海
日期:2019-09-20 12:29:3219周年集字徽章-周
日期:2019-10-01 20:47:4815-16赛季CBA联赛之八一
日期:2020-10-23 18:30:5320周年集字徽章-20	
日期:2020-10-28 14:14:2615-16赛季CBA联赛之广夏
日期:2023-02-25 16:26:26CU十四周年纪念徽章
日期:2023-04-13 12:23:10操作系统版块每日发帖之星
日期:2016-05-10 19:22:58
17 [报告]
发表于 2016-06-15 15:05 |只看该作者
本帖最后由 action08 于 2016-06-15 15:07 编辑

回复 16# mordorwww


    目前行业的主流做法是,调整一些业务逻辑,把请求放到nosql上


分布式,是指数据量很大的情况(不一定是访问量)。具体我也没有相关的项目工作经验,没有经验可以分享。



——打个广告,上海苏州互联网求职,lamp,重要的是饭碗,不是技术

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
18 [报告]
发表于 2016-06-15 15:26 |只看该作者
action08 发表于 2016-06-15 15:05
回复 16# mordorwww


重要的是饭碗,不是技术

尿点啊!

论坛徽章:
0
19 [报告]
发表于 2016-11-22 13:55 |只看该作者
想法有点问题呀,假设mysql单机支持6万连接,但这6万连接上来都是查15天的天气,有必要都连数据库吗?可以提前把一周或15天的天气拿出来,放在内存里,比如redis,用户直接取走就行了,数据库只在天气数据更新的时候访问一次。
所以,web的数据库连接池,一般配置几十个或上百个连接足够了。事实上,绝大多数的数据库查询,都是重复的,而且,大多数web请求也是重复的,所以web也要加缓存。
同理,可参考银行的柜台,不是为每个用户开一个,而是一个柜台服务多人,可以让用户排个队。否则,有6万人来银行,银行开了6万个柜台,共产主义实现了,银行也实现不了。

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
20 [报告]
发表于 2016-11-23 08:59 |只看该作者
本帖最后由 mordorwww 于 2016-11-23 13:43 编辑
sxcong 发表于 2016-11-22 13:55
想法有点问题呀,假设mysql单机支持6万连接,但这6万连接上来都是查15天的天气,有必要都连数据库吗?可以 ...

那我就问你6万用户查redis又如何呢楼上各位都在讲IO是瓶颈,并发多没必要。如果换成内存,IO木有瓶颈了吧


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP