首页 > 10万,百万,千万日访问量访问10万,百万,千万记录的 MySQL 需要怎么样的服务器配置?

10万,百万,千万日访问量访问10万,百万,千万记录的 MySQL 需要怎么样的服务器配置?

有没有什么标准的一个计算方法的?
其实我想,如果加入其它的技术,比如缓存等,可能配置的方案又会不一样...
不过问题简单一些

10万,百万,千万的日访问量,访问一个10万,百万,千万级别的记录的 MySQL 数据库,服务器配置应该是怎么样的?

给个参考

我大概设想应该是这样的

10 访问量 x 10 万数据库,其实 MySQL 做 10 万记录查询,不太花时间,即时做百万,千万级别的查询,也不会消耗太多时间,一般都会用 order, where 等条件做限制,加上一些 sort 处理,百万级别都不需要一秒时间就搞定才对,所以唯一要考虑的应该是浏览量的问题,10 万浏览量,大概一秒钟是一个访问量,所以其实毫无压力,那么以此类推

100 万访问量是,每秒 10 次查询,其实也没啥问题
1000 万访问量,每秒 100 次查询,小意思
10000 万访问量,每秒 1000 次查询,估计需要 1~2 秒时间的处理,加上页面输出渲染之类的,这个时候可能会有2~3秒的卡顿,还要计算上一个页面的大小,估计 100kb?每秒 100mb 的处理量,一个 2GB 内存的服务器,好像也毫无压力的样子,加上系统内存(800MB),所以一般机子 2GB 内存 双核的设备应该可以毫无压力承受 10000 PV的能力,那么为什么还需要额外增加服务器呢?

有可能最大的限制是宽度限制,一般宽度也就 2~3MBps(相当于24Mbitps),这样的话,100mb 的数量处理量就需要 20~50 台电脑去处理了。

不知道我分析的是否正确~


你这个分析很理想化,只能说你还在纸上谈兵的过程中,大型网站的服务器数据库策略不是通过公式计算出来的,而是通过实践总结分析出来的。实际情况并不会和你想象的那么理想,并且不同的业务不同的程序也会有不同的优化方式,不能但就访问量一项指标来做判断的标准。


100kb...你随便加个图片都不止了。
如何配置不仅仅是mysql的事,还要设置操作系统(linux),服务器(nginx),phpfpm,cache(redis)。具体怎么配置,自行百度。
你现在这些估算都是纸上谈兵.10000pv本来就不多,但是你说2g内存服务器想毫无压力支撑1000并发就不现实了。

你一个页面如果被用户第一次访问。从服务器到php到数据库然后存进cache。这些模块服务器本身就要占用内存,然后互相调用又要浪费cpu。0

具体并发怎么样你用压力测试工具一侧就知道了(ab),还有并发一定要测不同的动态页面才有意义


一个访问不等于一次数据库查询。复杂的业务可能要从几十张表获取数据。
而且复杂度是随着访问量几何增长。
最最重要的是访问量不会那么均匀,服务器负载也没有那么乐观。。


一点都不搭边……

服务器上要跑的有缓存、数据库、数据检索服务、队列服务等。海量数据的复杂条件筛选+排序你还真打算用数据库跑啊。

另外单台服务器是远远不够的。

建议你多看点关于服务器架构方面的书吧。
nginx的集群
mysql/postgresql集群
elasticsearch/sphinx集群
等等

【热门文章】
【热门文章】