高分请问大牛:怎么设计能够达到100万QPS
高分请教大牛:如何设计能够达到100万QPS
为了能够让问题变得简单,假设有以下限制:
1、服务器全部采用普通的服务器,价格1万5左右,2G内存,CPU主频2GHz
2、网络带宽:100M
3、假设使用lvs+nginx+tomcat,nginx做静态请求
4、假设nginx处理静态网页的并发量是2万/s
如何设计能够达到100万QPS。请描述大概需要几台lvs,几台nginx。
如果这种方式不能支持,应该需要怎么设计才能达到这么高的并发量?
------解决方案--------------------
没有配置过这样的,待测试
------解决方案--------------------
100Mbps 的带宽,要支持100万QPS,意味着每个查询只能分到 100bit 的流量,也即大约 12 字节流量,这系统貌似啥也干不了。。。
那么假定每个页面是 100KB,这个规模算是不大的吧。100万QPS约需要 100GBps 的流量,考虑到控制信号的开销,保底大概需要 1000Gbps 的实际带宽。
1Tbps的带宽,貌似没有负载均衡设备可以支持。所以恐怕要用 DNS 负载均衡 或 CDN 做第一级分流。
------解决方案--------------------
需要3~20万台服务器。
------解决方案--------------------
这类测试都是极限测试,只考虑连接处理效率。也即是说页面规模和磁盘IO等都不是考量目标。
我几年前也做过这类测试,普通笔记本上面,Apache对1K大小的页面执行极限测试的话,QPS轻松逼近1W。
不过我没有研究Nginx官网上它的测试环境说明,不好具体进行评价。
真实系统的QPS严重取决于业务复杂度,这点你应该很清楚了。
不过百度最大QPS才1W,听起来相当不靠谱,至少也得放大10倍以上吧。

浙公网安备 33010602011771号