前端社区带你了解CSS 加载新方式_html/css_WEB-ITnose
已有 21 次阅读 2016-04-13 12:43 | 系统分类:性能优化 |
测试环境概要
本次测试基于以下环境:
-
ApacheBench(v2.3)
-
Mac OS X 10.10.5
-
2.7 GHz Intel Core i5
-
Memory 8GB
内容概要
该文主要收集ab test的各项参数的具体含义并举例介绍ab test的基本使用方法.
关于ApacheBench(以下简称ab)
官方释义如下: ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server 简单来说就是一款压力测试工具, 可以通过创建多线程模拟多用户同时请求服务器行为, 从而实现对目标服务器进行压力测试的目标.对 https://github.com 网站模拟压力测试的效果图如下:
ab参数详解
联系上图对ab测试的各项参数进行阐述:
Server Software
被测Web服务器软件名称, 它来自http响应数据的头信息.
Server Hostname
请求的URL中的主机部分名称,它来自http请求数据的头信息.
Server port
被测Web服务器软件的监听端口.
SSL/TLS Protocol
客户端与服务器端的协商头信息, 仅当使用了SSL协议时才会打印此信息, 例如此处测试的Github网站采用的是 https 协议, 使用了SSL协议, 因此ab打印出了此信息.
Document Path
请求URL中的根绝对路径, 此处为 / .
Document Length
首次响应数据的正文长度, 单位为字节.
Concurrency Level
并发用户数, 命令中表现为 -c 后面跟着的参数.
Time taken for tests
所有请求的总耗时, 总请求表现为 -n 后面的参数, 从首个socket被创建至接受到最后一个响应的耗时.
Complete requests
总请求数, 与命令中 -n 后面的参数一致.
Failed requests
失败的请求数,失败指的是连接服务器、发送数据、接收数据等环节发生异常, 以及无响应后超时的情况.如果接受到的http响应数据的头信息中含有 2xx 以外的状态码,则会在测试结果显示另一个名为 Non-2xx responses 的统计项,用于统计这部分请求数, 这些请求并不算是失败的请求.
Total body sent
如果请求为 POST 类型带有请求体此处才会打印出来, 表示带数据发送请求.
HTML transferred
所有请求的响应数据长度总和, 包括每个http响应数据的头信息和正文数据的长度(不包括http请求数据的长度).
HTML transferred
所有请求的响应数据中正文数据的总和, 即不包括响应数据中头信息的长度.
Request per second
这里相当于服务器每秒所能接受的请求数即吞吐率, 可通过公式计算 Complete requests / Time taken for tests , 如对上图中的结果计算 10 / 10.497 ≈ 0.95 , 后面的计算结果都是四舍五入近似值, (mean) 表示这是一个平均值. 为了测试随着请求数的增加该值会出现怎样的变化, 特地写了段程序分析 点击看代码 查看疑问 .
Time per request
第一个TPR表示用户平均请求等待时间, 可通过公式计算 Time taken for tests / (Complete requests /Concurrency Level) , 如对上图中的结果计算 10.497 / 10 / 2 ≈ 2099.4 (这里是近似值).
Time per request
第二个TPR表示服务器平均处理每一个并发请求的时间, 可通过公式计算 Time per request / Concurrency Level , 如果对上图中的结果计算 2099.4 / 2 ≈ 1049.7 (这里是近似值).
Transfer rate
请求在单位时间内从服务器获取的数据长度, 可通过公式计算 Total transferred / Time taken for tests , 如对上图对结果计算计算 273337(byte) / 10.497 ≈ 26039.5351 / 1024(kb) ≈ 25.43kb/s , 从这里也可以看出大致的带宽需求.
Connection Times(ms)
此处对 Connect 、 Processing 、 Waiting 、 Total 进行解释. Connect 表示网络延时加上与远程服务器建立连接所耗费的时间, Processing 表示第一个字节发出去至接受到第一个响应字节之间所耗费的时间, 这里大致可以推断出服务器的处理能力、 Waiting 表示最后一个字节发送完至接受到第一个字节到响应时间间隔、 Total 表示从建立连接开始至接受到第一个字节响应的总时间, 是 Connect 与 Processing 的时间总和, 当然此处不能单纯根据上图的结果去加, 因为图中表示的是均值.
Percentage of the requests served within a certain time (ms)
这里表示请求处理时间的分布与上面 Time per request 对应, 从图中可以看到50%的处理时间小于1535ms, 根据 Connection Times 可以看到最长的处理时间为6394ms, 最短处理时间为1306ms.
使用 gnuplot 工具可以直观的根据图标分析
使用 -g 参数结合 gnuplot 可以从图标中更加直观的看到分析结果, 如下图为一个简单的ab测试后使用 gnuplot 生成的图:
基本的使用示例
以下介绍几个基本的使用场景, 更多ab参数请点击参考链接查看官网介绍.
模拟GET请求 -n1000
ab -n1000 http://www.example.com/
模拟POST请求 -n1000
此处在当前文件夹下面需要准备 p.json 文件, 文件内容为json格式的key/value对: ab -n1000 -p p.json -T application/json http://www.example.com/
模拟并发 -n1000 -c20 (c
并发数不能大于总请求数: ab -n1000 -c20 http://www.example.com/
查看返回头信息 -n1000 -v 3 (-v 可选2、3、4)
ab -n1000 -v 2 http://www.example.com/
图标展示结果 -n1000 -g g.tsv
生成 gnuplot 生成分析图所需要的数据文件: ab -n1000 -g g.tsv http://www.example.com/
参考链接
主要参考链接如下: Apache httpd(v2.4) 各项参数含义 Connection Times 关于gnuplot

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.
