架构训练营第七周感悟
本周训练营讲解了性能压测。性能压测在程序开发中一直没有重点关注过,也是从主观意识上认为它是QA的事情,但是一个好的程序员还得需要知道自己的系统瓶颈,应对不可预测的业务流量。
原来对于并发的概念很模糊,我自己理解,并发是同一时间连接到系统上的请求数量,比如说web服务本身,线程池能提供的连接数是有限的,多来的请求就要排队。但这些请求只要能落在服务器上,就算一个并发。所以我自己的压测实现,就是用线程数来模拟并发数,10个线程同时请求baidu。那这个和一个线程请求了10次baidu有什么不同呢?一个线程10次请求,一定是串行执行,因为一个线程同一时间只能做一件事情,就像一个人同一时间只能做一件事情一样,处理完了上一件事情才能做下一件。所以这个是1个并发。
那在同一时间,系统切面上有正在执行的请求,有正在排队的请求。在同一时间节点看这些请求,无论请求在什么状态,每个请求背后肯定是独立的一个个请求持有的连接,这个总数量就是并发数。并发数不一定就等于这一时刻访问系统的人数,比如说淘宝首页,用到很多数据并行加载的技术,一个用户过来,后面可能同时发起好多个请求来访问服务器。
评论