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