如何确定系统需要多少台服务器
分类:知识大全作者:互联网王者 发布时间:2019-03-08 14:02:30阅读:6万+ 属地:未知
一个系统需要多少台服务器,主要看系统要支撑多大的访问量和并发量。系统架构师可以根据系统的业务预估访问量和并发量,再根据服务器的压力测试的结果计算出大概的服务器数量,在实际运营中还可以根据服务器运行实际情况调整服务器数量。
压力测试,主要检测服务器的承受能力,包括最大可承受并发量、最大可承受流量等。压力测试的目的就是通过模拟真实用户的行为,测算出服务器的性能(单台服务器的承受能力),从而推算出系统在承受指定用户数时,需要多少服务器能支撑得住,根据压力测试的结果准备充足的服务器,来保证系统的稳定和用户的体验。
压力测试中的指标有QPS(每秒钟查询数量 )、TPS(每秒钟处理事务数量)、RT(响应时间)、并发数、吞吐量等参数。QPS指的是一台服务器每秒能够相应的查询次数,即单一接口服务的处理能力。TPS 指的是客户端发起请求到收到服务端最终响应的整个过程。对于一个页面的1次访问,为1TPS;但1次页面访问,可能产生多个请求,1个请求为1QPS,所以,1个TPS可能包含多个QPS。一般情况下,QPS= 并发数/平均响应时间。比如5000个用户(并发量)同时访问,平均得到响应的时间为2000ms,所以QPS=5000/2s= 2500(q/s)
如何计算需要的机器的数量,这里要按照二八原则去计算,因为每天80%的访问量集中在20%的时间里。峰值时间每秒钟请求数(QPS)=(日PV×80%) / (日秒数×20%)。需要的机器的数量:峰值时间每秒钟请求数(QPS) / 单台机器的QPS 。比如一个系统每天的访问量约为1000WPV,那整个系统最低QPS为多少?答案为:( 10000000×0.8 ) / (86400×0.2) ≈ 463 (QPS),假设一台服务器的最高QPS是50,需要需要多少台机器来支撑?答案为463 / 50 ≈ 10台服务器。反过来计算,日PV=QPS*60*60*24,即QPS乘以一天的秒数。
那么一般情况下,我们如何进行压力测试呢?答案是假设一个不变的日PV不变,测试的时候逐步增加并发量,观察QPS的变化及平均响应时间的变化。比如日PV为1000WPV,然后测试并发量在某个范围内的变化,比如并发量从0开始以100为单位递增到1000的情况下,观察系统的承受能力。在系统架构不变的情况下,一个系统吞吐量通车是固定的,也就是有一个极限值。吞吐量一般情况下由QPS、并发量决定,QPS和并发量维持在一个合适的水平,系统可以达到最高的吞吐量。当QPS或者并发量其中一个或者两个都超过极限的时候,平均响应时间会增加,系统的吞吐量反而会下降,原因是系统系统超负荷工作,性能开始急剧下降,所以从平均响应时间也可以看出系统是不是到达极限。总而言之,对于一个系统,从可接受的平均响应时间出发,通过压力测试出系统的承受能力,通过合适的架构配置让整个系统中的所有服务器保持一个合适的并发量和QPS,健康稳定的运行是最佳的选择。
声明:本文内容版权归原作者所有,未经授权,禁止转载!
声明:本站仅提供内容存储、展示服务,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的虚假信息,谨防诈骗。如发现有害或侵权内容,可联系本站删除!
- 上一篇:冯诺依曼结构和哈佛结构的区别是什么
- 下一篇:Java组成体系和运行原理