Apache的压力测试以及web性能优化的常用知识总结

发布时间:2020-08-04 17:24:51 作者:慕容钰灵
来源:ITPUB博客 阅读:135

这篇文章主要介绍了Apache的压力测试以及web性能优化的常用知识总结,笔记由《构建高性能web站点》这本高人气书籍整理而来,需要的朋友可以参考下

什么是带宽?


误解:“数据在线路中的移动速度”、“数据的传输速度”


我们所说的带宽是指数据的发送速度,比如百兆网卡,指网卡的最大fa送速度是100Mbps,也就是说网卡在一秒钟最多可以发送100Mb的数据;相关的因素:


数据发送装置将二进制信号传送到线路的能力,也称信号传输频率,以及另一端数据接收装置对二进制信号接收的能力,也包括线路对传输频率的支持程度;

数据传输介质的并行度,等价于计算机系统总线宽度的概念;

 


习惯与约定


b:比特单位 bit;


B:字节单位 Byte;


1KB = 1024B;


1kb = 1000b;


M与K 的换算同上;


 


什么是吞吐率?


吞吐率(Throughput),是指web服务器单位时间内处理的请求数,单位:reqs/s;


一般更关心的是服务器并发处理能力的上限 ,即最大吞吐率;


 


关于压力测试


基于吞吐率压力测试的几个前提:


并发用户数;(某一时刻同时向服务器发送请求的用户数量)

总请求数;

请求资源描述;

 


几个重要指标:


请求等待时间


用户平均请求等待时间(主要衡量服务器在一定并发用户数的情况下,对单个用户的服务质量)

服务器平均请求方护理时间(衡量服务器整体服务质量)

压力测试工具:Apache附带的ab、LoadRunner、Jmeter


 


服务器系统负载


$ cat /proc/loadavg

0.58 1.19 0.64 1/92 8306

这里0.58 1.19 0.64 这3个数字表示:系统最近1分钟、5分钟、15分钟分别计算出来的系统负载;


1表示当前运行队列中的进程个数;92表示此时的进程总数;8306表示到此时为止最后创建的一个进程ID;


 


Apache  ab的使用介绍


在《构建高性能web站点》中多处讲到了用apache 自带的压力测试工具ab进行Server的性能测试,搜索了一下相关知识,整理如下:


ab的全称是ApacheBench,是 Apache 附带的一个小工具,http://www.bbqmw.net/专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求。下面以一个实际例子来介绍ab的使用:


[xiekeli@localhost ~]$ ab -n 1000 -c 50 http://www.abc.com/a.php //产生1000次http请求,每次的并发用户数:50

This is ApacheBench, Version 2.0.40-dev <;$Revision: 1.146 $> apache-2.0Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Copyright 2006 The Apache Software Foundation, http://www.apache.org/ Benchmarking www.abc.com (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsFinished 1000 requests Server Software: Apache //被测平台Apache Server Hostname: www.abc.com //服务器主机名Server Port: 80 Document Path: /a.phpDocument Length: 231 bytes //文档大小 Concurrency Level: 50 //并发数Time taken for tests: 12.818547 secondsComplete requests: 1000 //完成请求数Failed requests: 0 //失败的请求数Write errors: 0Non-2xx responses: 1001Total transferred: 438438 bytes //整个场景中的网络传输量HTML transferred: 231231 bytes //整个场景中的HTML内容传输量Requests per second: 78.01 [#/sec] (mean) //吞吐率,即每秒处理的请求数(后面括号中的 mean 表示这是一个平均值)Time per request: 640.927 [ms] (mean) //每次请求的响应时间(后面括号中的 mean 表示这是一个平均值Time per request: 12.819 [ms] (mean, across all concurrent requests) //每次请求的响应时间(后面括号中已经说明,是按所有并发数计算的平均值)Transfer rate: 33.39 [Kbytes/sec] received //平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题 Connection Times (ms) //网络上消耗的时间的分解,各项数据的具体算法还不是很清楚 min mean[+/-sd] median maxConnect: 186 307 598.1 212 9188Processing: 188 271 289.6 214 1923Waiting: 188 245 219.9 213 1416Total: 376 579 660.2 427 9380 //整个场景中所有请求的响应情况。在场景中每个请求都有一个响应时间,其中50%的用户响应时间小于1093 毫秒,60% 的用户响应时间小于1247 毫秒,最大的响应时间小于7785 毫秒,由于对于并发请求,cpu实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的,所以基本上第一个Time per request时间约等于第二个Time per request时间乘以并发请求数Percentage of the requests served within a certain time (ms) 50% 42766% 43075% 43180% 43390% 45195% 163098% 338299% 3429100% 9380 (longest request)


推荐阅读:
  1. HTML常用的标签总结
  2. Apache服务ab压力测试

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

apache web 性能

上一篇:oracle索引监控-----未使用的索引

下一篇:d-link DI-7300 DI-7200 开启路由模式

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》