1
knightdf 2017-03-09 14:34:43 +08:00 8
开一百万台 mysql
|
2
wangdu2012 2017-03-09 14:46:02 +08:00 via iPhone
问这种问题的人没脑子没水平
|
3
isphone 2017-03-09 14:46:50 +08:00
嗯
|
4
ipeony 2017-03-09 14:48:18 +08:00
读写分离,分库分表 扯点~
|
5
thai9quohs6jae1C 2017-03-09 14:51:49 +08:00 5
你可以问他 “如何实现百万并发”
|
6
em70 2017-03-09 14:54:10 +08:00
让老板掏钱买 10 万台服务器就行了.
题目又没限制成本,又没限制必须纯技术解决,也没说明目前的配置,烂题 |
7
lfautumn 2017-03-09 15:08:59 +08:00
把阿里巴巴买下就行啦
|
8
vus520 2017-03-09 15:38:12 +08:00 6
我没有做过单机这么大的量,目前单台 LB 上最大的并发连接是 18 万 /s (多台 LB ,要是合起来算应该超过百万连接,毕竟用户数在百万以上)
这里的并发,如果仅是『连接』,并无实际请求和处理,常见的 32G 内存的服务器完全可以抗住 C1000K ,这个问题不用讨论。 如果有读写行为,最好按读写分开计算。 1 ,按常见只读业务, mysql 达到 3-5w QPS 比较容易达到,也就是说 20 台 mysql 机器就能抗下来,只需要分配好主从节点,前端再加上一些缓存,如果有 50%左右的缓存命中, Mysql 的读取压力就能降到 50 wQPS ,一点问题都没有,妥妥的。 2 ,按常见的写业务, 100wQPS 的写我觉得是相当恐怖的,感觉 mysql 还是算了吧,随便上个 hadoop , es ,前端套个队列,有压力,但估计问题也不大。 最后,我实再编不下去了。 |
9
QQ2112755791 2017-03-09 15:41:15 +08:00
没有什么实际意义吧。有强大的服务器支撑还是可以实现。
|
10
shiny 2017-03-09 15:49:52 +08:00
取决于业务类型才有意义吧
|
11
HLT 2017-03-09 15:57:46 +08:00 1
如果单就这一句话。。。。对方简直是个煞笔
|
12
mhycy 2017-03-09 16:15:38 +08:00
前些天还有个在这问类似的问题
说是开放思维。。。。 |
13
echo1937 2017-03-09 16:39:50 +08:00
每秒百万,每日八六十四百亿吧,考虑访问转化率 10%,至少八千亿的日 PV ,这是什么服务?
|
14
tabris17 2017-03-09 16:56:08 +08:00
百万并发个啥?具体场景不说,烧饼问题
|
15
yxslnmp 2017-03-09 17:00:18 +08:00
曾经就被问过这类的烧饼问题。表示聊不下去,还得强颜欢笑
|
17
markfang OP @wangdu2012 面试官没水平?
|
18
Pastsong 2017-03-09 17:11:53 +08:00
买机器啊
|
19
binux 2017-03-09 17:15:10 +08:00
百万并发 != 百万并发落到 mysql 上啊
|
20
yidinghe 2017-03-09 17:17:50 +08:00
不能让这些请求同时到达数据库,缓存肯定是要用的,而且是每台负载均衡的服务器将缓存内容主动加载到本地,而不是当请求来时去访问远程缓存。
|
21
oa414 2017-03-09 17:18:53 +08:00
|
22
phrack 2017-03-09 17:20:07 +08:00 via Android
啥公司这么吊啊,日活上亿?
|
24
qq496844026 2017-03-09 17:26:01 +08:00
问这个问题真没意义,就算你回答用缓存或者优化 sql 之类的,然后他又会问缓存挂了怎么办,曾几何时我也被这个问题坑过....
|
25
redtea 2017-03-09 17:33:17 +08:00
数据从 Mysql 查询后静态化生成 html ,多搭几台 nginx 负载均衡, Redis 之类的缓存都不用使用。
|
26
owt5008137 2017-03-09 17:41:02 +08:00
分库分表->缓存->CDN 。就酱
百度得 QPS 才 50W 。什么 NB 业务会 100W 同时请求? |
27
lhbc 2017-03-09 17:43:24 +08:00 via iPhone
动不动就百万千万亿并发……
现在没个几亿并发都不敢说是干互联网的。 |
28
swulling 2017-03-09 17:50:25 +08:00
|
29
lhbc 2017-03-09 17:57:43 +08:00 via iPhone
|
32
paranoiagu 2017-03-09 18:54:17 +08:00 via Android
不同意说面试官傻的。其实问题提出来,并不一定有标准答案,或者问题本身有可能有问题,这个时候就应该和面试官进一步讨论,分析。也许面试官考的就是大家都分析问题能力。
|
33
paranoiagu 2017-03-09 18:55:55 +08:00 via Android
大家要这么想,如果提这个问题的是客户。那我们怎么出解决方案呢?一定也是要进一步讨论明确后才能出方案。
|
34
wangdu2012 2017-03-09 19:41:49 +08:00 via iPhone
@markfang 说的是你。明显人家不会问这么没有条件以及上下文的问题
|
35
pathbox 2017-03-09 20:16:24 +08:00 via Android
也许面试官给了你一个吹水的机会,而你 fuck it 了
|
36
lhbc 2017-03-09 20:38:21 +08:00 via iPhone
@swulling 静态是 CDN 的事,都在各个地区的 CDN 节点的内存里呢,而且,浏览器也会缓存这些静态文件相当长的时间。跟搜索引擎一点关系都没。
超过五亿那也没有量级的差距。 |
37
sorkl 2017-03-09 21:03:31 +08:00 via iPhone
@paranoiagu 支持,有问题拿出来分析清楚。
觉得应该积极的去面对问题,当然有时候也可能故意抛一个 SB 问题看你的反应,这很正常嘛…… |
38
frankzeng 2017-03-09 21:06:35 +08:00
异步处理嘛,先把榜单生成为静态文件,定时更新就可以了。
|
39
RobertYang 2017-03-09 21:10:31 +08:00 via Android
大胸弟,送分题啊,反正都是吹水 2333
|
40
jybox 2017-03-09 21:51:54 +08:00
「瞬间有 100 万用户去看数据」不等于 100 万的并发,如果这些用户集中在 1 分钟内请求,那么 QPS 也只有 1.7 万而已;如果真的是 100 万的并发,按照一个请求 20 毫秒的处理时间,就是 500 万的 QPS 。
|
41
wdlth 2017-03-09 21:53:49 +08:00
史上最大电商网站 12306 峰值并发量才有几十万 TPS ……
面试官是看斗鱼在线数看多了吧。 |
42
nanpuyue 2017-03-09 22:06:24 +08:00
首先,要确定这是不是个伪需求。
|
43
snnn 2017-03-09 22:38:25 +08:00 via Android
百万同时在线一点都不多。。。我就抗过每秒 500 万次请求。
|
44
janxin 2017-03-09 22:38:58 +08:00
变化不大,静态页面,搞定 XD
|
45
vultr 2017-03-09 22:50:58 +08:00
给我 200 台服务器,差不多可以抗住百万并发。
|
46
cokyhe 2017-03-10 08:19:47 +08:00
用户榜单,几分钟读一次数据库,生成静态页面不就行了吗,还 tmd 的 100 万并发
|
47
torbrowserbridge 2017-03-10 08:37:08 +08:00 via iPhone
某大厂,干这事儿就是事先生成 js 数据文件
|
48
Jakesoft 2017-03-10 08:42:54 +08:00 via iPhone
这种高并发请求就不该让 mysql 来扛
|
49
killerv 2017-03-10 09:12:31 +08:00
我觉得应该问如何应对百万并发,而不是问 MySQL 去扛这百万并发。
|
50
ivvei 2017-03-10 09:26:25 +08:00
看榜单为什么要都访问数据库…… 数据库把榜单生成后就给一个页面让人看好了啊,要扛访问量的是 web 服务器。
|
51
jianzhiyao020 2017-03-10 09:35:11 +08:00
瞬间的话可以这样子的,用 memory 引擎,分表分库,定期维护缓存
|
52
thai9quohs6jae1C 2017-03-10 09:44:56 +08:00 via Android
其实现在有的招聘人员,特别是自以为很懂的企业自己圈养的 hr 智商是越来越低,问的问题只是想说明他会什么,这种公司往往是不想招你去面试的这个职位,很多职位是虚拟出来的,因为 hr 也不想失业嘛,也有 KPI 。
|
53
notreami 2017-03-10 12:09:43 +08:00
榜单而已,所有数据全上 CDN , N 久变动一次的数据,考虑啥 mysql 、 redis 、 nginx ,要考虑的是 DNS 域名解析。 C1000K ,上 F5 估计没啥问题,不过这个估计也就一瞬间的事,找个第三方公司,世纪互联啥的,租用一会也就完事了。
|
54
JerryZhang 2017-03-10 16:54:58 +08:00
加缓存就好。
|
55
stormpeach 2017-03-10 18:30:46 +08:00
mysql 扛百万并发? redis 还差不多
|
56
skyblue 2017-03-13 09:09:48 +08:00
我觉得吧, 这个问题还是很有意义的.
1. 对高并发的概念 2. 对 mysql 的概念 3. 对预设考题的理解, 对业务隐含问题的挖掘能力 4. (我圆不下去了.... |