如何对网站服务器进行压力测试?

时间: 2019-10-09阅读: 906标签: 测试

1.yum install -y httpd-tools

ab命令被集成到了httpd服务器中,所以想要使用ab命令需要先安装httpd服务

ab -c 并发请求HTTP报文数量 -n 总共发送少个请求报文 

ab命令的使用方法和常用选项
ab [选项] [http[s]://]hostname[:port]/path

常用选项:
-n requests     Number of requests to perform
         在测试会话中所执行的请求总个数,默认一个
-c concurrency  Number of multiple requests to make at a time
         一次产生的请求个数,默认一个


2. 实例

[root@web01 conf.d]# ab -c 200 -n 200 http://www.oldboy.com/index.html
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.oldboy.com (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests


Server Software:        nginx/1.14.1            ---被测试的httpd服务器版本
Server Hostname:        www.oldboy.com          ---服务器主机名
Server Port:            80                      ---服务器端口
        
Document Path:          /index.html             ---测试的文档页面
Document Length:        195 bytes               ---测试的文档大小     
        
Concurrency Level:      200                     ---并发数
Time taken for tests:   2.746 seconds           ---整个测试时间
Complete requests:      200                     ---完成请求个数
Failed requests:        118                     ---失败请求格式  
   (Connect: 0, Receive: 0, Length: 118,        Exceptions: 0)
Write errors:           0        
Non-2xx responses:      200        
Total transferred:      104236 bytes            ---整个测试过程中总传输字节数
HTML transferred:       39118 bytes             ---整个测试过程中HTML传输字节数  
Requests per second:    72.82 [#/sec] (mean)     ---每秒处理请求数,mean 表示这是一个平均值
Time per request:       2746.492 [ms] (mean)     ---平均请求时间,mean表示这是一个平均值
Time per request:       13.732 [ms] (mean, across all concurrent requests) ---每个请求实际运行时间的平均值,mean表示这是一个平均值
Transfer rate:          37.06 [Kbytes/sec] received ---传输速率

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      254  266   7.0    266     277
Processing:   256  453 217.6    400    1816
Waiting:      256  453 217.6    400    1816
Total:        511  718 217.0    668    2074

Percentage of the requests served within a certain time (ms)
  50%    668
  66%    689
  75%    712
  80%    968
  90%    992
  95%   1112
  98%   1250
  99%   1358
 100%   2074 (longest request)


3. 注意

测试上限一般是由打开文件的数量决定的,这个数值可以通过ulimit -a或ulimit -n命令查看,默认大小为1024。解决办法就是ulimit -n [数值],来提高打开文件的数量上限,测试和被测试的都要提升。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/6349

九大高效的前端测试工具与框架

在每个Web应用程序中,作为用户直接可见的应用程序外观,“前端”包括:图形化的用户界面、相应的功能、及其整体站点的可用性。我们可以毫不夸张地说:如果前端无法正常工作,您将无法“拉新”网站的潜在用户

vue-cli3 配置开发-测试环境

首先介绍一下本项目的背景,是基于 vue-cli3.1.1 的单页应用,目前测试环境和生产环境都在线上,并且都在同一个域名下,其中生产环境部署在根目录下,测试环境部署在名为 test 的子目录下,根据生产环境和测试环境的不同

理解前端自动化测试TDD + BDD

在日常的开发中,整天赶需求的我们好像没有时间顾及自动化测试,尤其是在敏捷开发的时候。但其实自动化测试可以帮助我们提高代码和功能的健壮程度,大幅减少可能出现的bug。尤其是在复杂系统中

网站建设敏捷开发是如何测试网站?

网站建设的过程是线性的,敏捷的开发方法更有灵活性和适应性,敏捷开发是一个迭代过程,在项目完成之前构建调整功能和需求,这种开发离不开站点的测试。选择专注于网站开发的公司采用敏捷开发方法

API测试工具

越来越多的公司正在向DevOps的方向左转,以实现持续集成和持续部署开发。这意味着我们的反馈需要比以往更快,以便确定我们的应用程序是否准备好交付。这就是API测试如此重要的原因

Js测试框架

Jest是Facebook团队构建和维护的JavaScript测试框架,基于Jasmine的JavaScript单元测试框架。Jest在2018年接受度非常高,今年在JavaScript社区更是如此,根据Github的数据,目前超过150万个项目在使用Jest

如何对 react hooks 进行单元测试?

使用 react hook 来做公司的新项目有一段时间了,大大小小的坑踩了不少。由于是公司项目,因此必须要编写单元测试来确保业务逻辑的正确性以及重构时代码的可维护性与稳定性,之前的项目使用的是 react@15.x 的版本

web如何测试?

当我们负责web测试的时候,先了解B/S架构,然后分析如何开始执行测试,一般步骤:从功能测试,兼容测试,安全测试。

Js中for、for...of 、for...in 等 iteration 效率测试

由于不同浏览器,不同版本性能不一,且控制台本质是是套用了一大堆eval,沙盒化程度高,所以需使用node环境测试来提高准确性

几款Web服务器性能压力测试工具

http_load程序非常小,http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。ab是apache自带的一款功能强大的测试工具。安装了apache一般就自带了。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!