博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何进行web测试及名词解释
阅读量:7119 次
发布时间:2019-06-28

本文共 2293 字,大约阅读时间需要 7 分钟。

hot3.png

来源于网络,在此注明,谢谢原作者。

------------------------------------------------------------------------------

你想建设一个能承受500万PV/每天的网站吗?

500万PV是什么概念?我的服务器每秒要处理多少个请求?

PV是什么?
PV是page view的简写。PV是指页面刷新的次数,每一次页面访问,就算做一次pv流量。
计算模型:
每台服务器每秒处理请求的数量=((80%*总PV量)/(24小时*60分*60秒*40%))/服务器数量
其中关键的参数是80%、40%。表示一天中有80%的请求发生在40%的时间内。24小时的40%是9.6小时,有80%的请求发生一天的9.6个小时当中(很适合互联网的应用)。
((80%*500万)/(24小时*60分*60秒*40%))/1 = 1157个请求/秒
((80%*100万)/(24小时*60分*60秒*40%))/1 = 231个请求/秒
结论:
现在我们在做压力测试时,就有了标准,如果你的服务器一秒能处理1157个请求,就可以承受500万PV/每天。这里不关心是请求的是静态的html,还是动态的jsp。
如果你的服务器一秒能处理231个请求,就可以承受100万PV/每天.
说明:这里说明每秒N个请求,更像是TPS。而不是请求一个html页面而附带请求的css,js,图片。因为我关心的是应用程序处理业务的能力。
---------------------------------------------------------------------------------------
基本概念:
Throughput(吞吐量):按照常规理解网络吞吐量表示在单位时间内通过网卡数据量之和,其中即包括本机网卡发送出去的数据量也包括本机网卡接收到的数据量。
并发用户数:是同时执行操作的用户
响应时间:对请求作出响应所需要的时间
---------------------------------------------------------------------------------------
JMeter测试参数说明:
Label:每一个测试单元的名字。
#Samples:表示一个测试单元一共发出了多少个请求。
Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Conoller 时,也可以以Transaction 为单位显示平均响应时间。,不重要。
Median:中位数,也就是 50% 用户的响应时间,如果把响应时间从小到大顺序排序,那么50%的请求的响应时间在这个范围之内。重要。
90% Line:90% 用户的响应时间,如果把响应时间从小到大顺序排序,那么90%的请求的响应时间在这个范围之内。重要。
Min:最小响应时间,不重要。
Max:最大响应时间,出现几率只不过是千分之一甚至万分之一,不重要。
Error%:本次测试中出现错误的请求的数量
Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数

KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec

---------------------------------------------------------------------------------------

Toat6.0 配置文件的说明 ,做测试之前是要整清楚的。
默认的Server.xml中如下
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
Lookups="fae" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
enableLookups
是否允许DNS查询,当web应用程序要通过域名服务器查找机器名转换为IP地址时。会使用DNS查询,需要占用网络,延长较长
maxThreads
Tom可创建的最大的线程数,每一个请求须要一个线程来处理,原来的150太小了,我们测试时并发会超过他的。
acceptCount
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,就是被排队的请求数,超过这个数的请求将拒绝连接。
connnectionTimeout
网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为20000毫秒。
minSpareThreads
Tomcat初始化时创建的线程数
maxSpareThreads
一旦创建的线程中空闲线程超过这个值,Tomcat就会关闭不再需要的socket线程。
注意:maxThreads 设置为500,也就是最多有500个线程,为下一步的压力测试做好准备。

转载于:https://my.oschina.net/wen3062/blog/75218

你可能感兴趣的文章
使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
查看>>
提问的艺术(中文版)
查看>>
一只饥饿的老虎
查看>>
MagicalRecord使用中的注意事项
查看>>
开涛spring3(9.4) - Spring的事务 之 9.4 声明式事务
查看>>
Android Studio 运行出现 Multiple dex files define Landroid/support/annotation/AnimRes 解决方法...
查看>>
Sencha Touch xtype对应的class
查看>>
Java并发基础框架AbstractQueuedSynchronizer初探(ReentrantLock的实现分析)
查看>>
Beautifulsoup 和selenium 的查询
查看>>
第一次担任项目经理从零开始架构自己的网站(二) 需求文档定稿,开始建表,建库(转)...
查看>>
Ajax跨域访问XML数据的另一种方式——使用YQL查询语句
查看>>
试验如何通过审核Google AdSense——我跟谷歌ads杠上啦
查看>>
KBMMW 4.82.00 发布
查看>>
19、java内存分配 常量池详解
查看>>
WINRAR4.2破解方式或注册码
查看>>
hbase列表排序
查看>>
【程序员面试宝典】找规律
查看>>
网购时代,写在消费者权益保护的新篇章大企业
查看>>
功率W与dBm的对照表及关系(转)
查看>>
制作SM2证书
查看>>