首先开宗明义,离开业务单独讨论并发,都是扯淡。
就像 https://www.zhihu.com/question/20493166/answer/15998053 这里面说的
谈并发必然要谈业务,空对空地就是扯淡,甭管说得多头头是道。
我们用某银行ATM取款为例:假设一个人从插卡到取完款平均需要2分钟(120秒),假设全国有100万个ATM终端,同一时间都有人使用,并发量是多少? 1000000 / 120 = ~8300。也就是说,系统并发处理能力上限是8300TPS。 这个时候,我们才需要来考虑如何将8300TPS的性能指标分解到技术和业务层面,需要多少服务器/硬件设备,哪些业务流程上可以优化,哪些通过应用软件手段解决,整体系统如何调优等等。
很多人根本不理解什么是并发,怎么计算并发量。动不动就是100K,
有没有分析业务场景,为什么需要100K?
100K get index page请求和100K个复杂transaction,是一个概念么?
就算server把100K个并发的连接都hold住了,后面处理不过来还不是不行。现实中软件系统都是要处理具体的业务的,要作为一个整体来考量和设计,不是clients都连接上了就log一下唉哟我并发能力好强,就完事儿了。
业务是nginx返回静态页面,我的笔记本也可以跑到1w的tps.
那么在明确了结合业务讨论的前提下,看看技术方面的内容