利用http_load对服务器测试的测试报告

18 篇文章 0 订阅

1. 测试目的

本文主要用于记录测试过程,总结此服务器的测试结果。对此服务器进行压力测试,为后续的该进做好准备。

2. 项目背景

  1. 在学习过网络知识的前提下,为了加深对网络中数据传输的理解,为了更加清楚的认识我们在浏览器输入URL的工作过程,做了此项目。
  2. 在服务器的基础上,加入了一些个人的东西,在网页上注册个人信息以后,可以添加好友信息,然后服务器会定时向好友推送天气信息。

3. 测试概要

1.测试项目

这次测试主要是针对服务器能承受的压力及服务器的性能,对于服务器能承受的压力来讲,我们采用http_load工具。

2. http_load工具简介

http_load工具是以并行复用的方式运行,用以测试web服务器的吞吐量与负载。它可以以一个单一的进程运行,不会把客户机搞死。

3. http_load工具的安装和用法

安装
(1)首先要下载http_load工具,下载地址:
http_load-12mar2006.tar.gz
(2)接下来利用命令安装

#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make && make install

用法

http_load -p 并发访问进程数 -s 访问时间  需要访问的URL文件

参数说明

参数功能
-parallel -p并发的用户进程数
-fetch -f总计的访问次数
-rate -r每秒的访问频率
-second -s总计的访问时间
备选的URL文件最好超过50-100个测试效果最好
4. 测试开始

(1)启动服务器
这里写图片描述
(2)查看IP地址和端口号
这里写图片描述
(3)编写URL文件
这里写图片描述
(4)输入命令

[root@localhost http_load-12mar2006]# http_load -p 30 -s 60 urllist.txt

(5)测试结果展示
多线程服务器
这里写图片描述

epoll服务器
这里写图片描述

6. 测试结果解释

多线程服务器

  1. 90 fetches, 30 max parallel, 11780 bytes, in 60.0014 seconds
    说明在上面的测试中运行了90个请求,最大的并发进程数是30,总计传输的数据为11780个字节,运行时间是60.0014秒。
  2. 130.889 mean bytes/connection
    表明每一个连接平均传输的数据量。
  3. 1.49996 fetches/sec, 196.329 bytes/sec
    说明每秒响应1.49996个请求,
    每秒传输196.329个字节
  4. msecs/connect: 767.287 mean, 30999.3 max, 0.037 min
    说明每个连接的平均响应时间为767.287msecs;
    最大响应时间为30999.3msecs;
    最小响应时间为0.037msecs。
  5. msecs/first-response: 2996.1 mean, 51509.9 max, 0.759 min
  6. 3 bad byte counts
  7. HTTP response codes:
    code 200 – 20
    code 404 – 60
    说明打开响应页面的类型,如果403的类型较多,注意是否系统遇到了瓶颈。

epoll服务器

  1. 201 fetches, 30 max parallel, 10602 bytes, in 60.0031 seconds
    说明响应了201个请求,最大并发进程数为30,传输数据10602个字节,总计时间60.0031秒。
  2. 52.7463 mean bytes/connection
    每一个连接平均传输的数据量为52.7463字节。
  3. 3.34983 fetches/sec, 176.691 bytes/sec
    说明每秒响应3.34983个请求,
    每秒传输176.691个字节。
  4. msecs/connect: 464.079 mean, 30999.4 max, 0.03 min
    说明每个连接的平均响应时间为464.079msecs;
    最大响应时间为30999.4msecs,最小响应时间为0.03msecs。
  5. msecs/first-response: 1281.06 mean, 51510 max, 2.185 min
  6. HTTP response codes:
    code 200 – 18
    code 404 – 172

注:在这其中最重要的两个指标为fetches/secmsecs/connect;即可以表示服务器每秒可以响应的查询次数。

7. 结果分析


  1. 就多线程和epoll服务器的对比
    通过对比各项指标可以看出,epoll服务器的速度较快,效率高,性能较好。
  2. 对于服务器每秒可以响应的请求次数来说,是可以接受的,属于正常范畴。
  3. 对于服务器每个请求的响应时间来说,是可以接受的,属于正常范畴。

观点一:官方评价:来自《软件测试技术大全》一书​
响应时间在4秒以内,大部分用户可以接受;

4~9秒以内,30%的用户选择离开;

8~9秒,则有60%的用户选择离开;

超过10秒,则90%以上的用户选择离开。​
观点二:在2秒之内给客户响应被用户认为是“非常有吸引力”的用户体验。​​

在5秒之内给客户响应被用户认为是“比较不错”的用户体验。​

在10秒之内给客户响应被用户认为是“糟糕”的用户体验。​

如果超过10秒还没有得到响应,那么大多数用户会认为这次请求是失败的。

webbench工具

webbench工具也是一款检测服务器性能的工具,我们可以利用这个工具检测我们的服务器最多可以有多少人在线。

[jinyuyu@localhost webbench-1.5]$ webbench -c 100 -t 80 http://192.168.163.129:8888/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.163.129:8888/
100 clients, running 80 sec.

Speed=22524845 pages/min, 0 bytes/sec.
Requests: 100 susceed, 0 failed.
[jinyuyu@localhost webbench-1.5]$ webbench -c 1000 -t 150 http://192.168.163.129:888
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://192.168.163.129:8888/
1000 clients, running 150 sec.

Speed=22524845 pages/min, 0 bytes/sec.
Requests: 400 susceed, 20 failed.

我们注意到在服务器并发1000个client时,会有失败情况产生,说明超过服务器的负载,所以我们的服务器最多允许1000人同时访问。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值