有什么方式衡量服务器并发处理实力
一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强。
1. 吞吐率 吞吐率,单位时间里服务器处理的最大请求数,单位req/s。 从服务器角度,实际并发用户数可以理解为服务器当前维护的代表不同用户的文件描述符总数,也就是并发连接数。服务器一般会限制同时服务的最多用户数,比如apache的MaxClients参数。 这里再深入一下,对于服务器来说,服务器希望支持高吞吐率,对于用户来说,用户只希望等待最少的时间,显然,双方不能满足,所以双方利益的平衡点,就是我们希望的最大并发用户数。 2. 压力测试 有一个原理一定要先搞清楚,假如100个用户同时向服务器分别进行10个请求,与1个用户向服务器连续进行1000次请求,对服务器的压力是一样吗?实际上是不一样的,因对每一个用户,连续发送请求实际上是指发送一个请求并接收到响应数据后再发送下一个请求。这样对于1个用户向服务器连续进行1000次请求, 任何时刻服务器的网卡接收缓冲区中只有1个请求,而对于100个用户同时向服务器分别进行10个请求,服务器的网卡接收缓冲区最多有100个等待处理的请求,显然这时的服务器压力更大。 压力测试前提考虑的条件 并发用户:指在某一时刻同时向服务器发送请求的用户总数(HttpWatch) 总请求数 请求资源描述 请求等待时间(用户等待时间) 用户平均请求的等待时间 服务器平均请求处理的时间 硬件环境 压力测试中关心的时间又细分以下2种: 用户平均请求等待时间(这里暂不把数据在网络中的传输时间,还有用户本地PC的计算时间计算入内) 服务器平均请求处理时间
用户平均请求等待时间主要用于衡量服务器在一定并发用户数下,单个用户的服务质量;而服务器平均请求处理时间就是吞吐率的倒数,一般来说,用户平均请求等待时间 = 服务器平均请求处理时间高并发用户数 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |