如何使用ab对Web高并发socket服务器器做并发性能测试

请问如何使用ab对WebSocket服务器做并发性能测试 - 开源中国社区
当前访客身份:游客 [
当前位置:
你好,想跟你请教个问题:
请问如何使用ab对WebSocket服务器做并发性能测试,能加Q详聊最好
共有3个答案
<span class="a_vote_num" id="a_vote_num_
ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab
&我们可以模拟100个并发用户,对一个页面发送1000个请求
ab -n 1000 -c 100 http://xxxxxx
==========================
##首先是apache的版本信息& This is ApacheBench, Version 2.3 &$Revision: 655654 $&& Copyright 1996 Adam Twiss, Zeus Technology Ltd,&& Licensed to The Apache Software Foundation,&
Benchmarking
(be patient)
Server Software:&&&&&&& Apache/2.2.19&&& ##apache版本& Server Hostname:&&&&&&& && ##请求的机子& Server Port:&&&&&&&&&&& 80 ##请求端口
Document Path:&&&&&&&&& /a.html& Document Length:&&&&&&& 25 bytes& ##页面长度
Concurrency Level:&&&&& 100& ##并发数& Time taken for tests:&& 0.273 seconds& ##共使用了多少时间& Complete requests:&&&&& 1000&& ##请求数& Failed requests:&&&&&&& 0&& ##失败请求& Write errors:&&&&&&&&&& 0&&& Total transferred:&&&&& 275000 bytes& ##总共传输字节数,包含http的头信息等& HTML transferred:&&&&&& 25000 bytes& ##html字节数,实际的页面传递字节数& Requests per second:&&& 3661.60 [#/sec] (mean)& ##每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量& Time per request:&&&&&& 27.310 [ms] (mean)& ##用户平均请求等待时间& Time per request:&&&&&& 0.273 [ms] (mean, across all concurrent requests)& ##服务器平均处理时间,也就是服务器吞吐量的倒数& Transfer rate:&&&&&&&&& 983.34 [Kbytes/sec] received& ##每秒获取的数据长度
Connection Times (ms)& &&&&&&&&&&&&& min& mean[+/-sd] median&& max& Connect:&&&&&&& 0&&& 1&& 2.3&&&&& 0&&&&& 16& Processing:&&&& 6&& 25&& 3.2&&&& 25&&&&& 32& Waiting:&&&&&&& 5&& 24&& 3.2&&&& 25&&&&& 32& Total:&&&&&&&&& 6&& 25&& 4.0&&&& 25&&&&& 48
Percentage of the requests served within a certain time (ms)& & 50%&&&& 25& ## 50%的请求在25ms内返回& & 66%&&&& 26& ## 60%的请求在26ms内返回& & 75%&&&& 26& & 80%&&&& 26& & 90%&&&& 27& & 95%&&&& 31& & 98%&&&& 38& & 99%&&&& 43& 100%&&&& 48 (longest request)
--- 共有 1 条评论 ---
我光使用-n -c的请求是被服务器拒绝的,如果是websocket协议的话,是否需要另外设置一些参数?
(2年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
<span class="a_vote_num" id="a_vote_num_
ab应该不支持ws协议,是仅基于http协议
更多开发者职位上
有什么技术问题吗?
类似的话题ab 性能测试工具的使用(Web并发测试) - 推酷
ab 性能测试工具的使用(Web并发测试)
2、命令介绍
参数的介绍
n在测试会话中所执行的请求个数。默认时,仅执行一个请求。
-c一次产生的请求个数。默认是一次一个。
-t测试所进行的最大秒数。其内部隐含值是-n 50000,它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。
-p包含了需要POST的数据的文件。
-P对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。
-T POST数据所使用的Content-type头信息。
-v设置显示信息的详细程度-4或更大值会显示头信息,3或更大值可以显示响应代码(404,200等),2或更大值可以显示警告和其他信息。
-V显示版本号并退出。
-w以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。
-i执行HEAD请求,而不是GET。
-x设置&table&属性的字符串。
-X对请求使用代理服务器。
-y设置&tr&属性的字符串。
-z设置&td&属性的字符串。
-C对请求附加一个Cookie:行。其典型形式是name=value的一个参数对,此参数可以重复。
-H对请求附加额外的头信息。此参数的典型形式是一个有效的头信息行,其中包含了以冒号分隔的字段和值的对(如,&Accept-Encoding:zip/8bit&)。
-A对服务器提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即,是否发送了401认证需求代码),此字符串都会被发送。
-h显示使用方法。
-d不显示&percentage served within XX [ms] table&的消息(为以前的版本提供支持)。
-e产生一个以逗号分隔的(CSV)文件,其中包含了处理每个相应百分比的请求所需要(从1%到100%)的相应百分比的(以微妙为单位)时间。由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用。
-g把所有测试结果写入一个'gnuplot'或者TSV(以Tab分隔的)文件。此文件可以方便地导入到Gnuplot,IDL,Mathematica,Igor甚至Excel中。其中的第一行为标题。
-i执行HEAD请求,而不是GET。
-k启用HTTP KeepAlive功能,即在一个HTTP会话中执行多个请求。默认时,不启用KeepAlive功能。
-q如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数。此-q标记可以抑制这些信息。
1)、在cmd(DOS界面下进入到ab的bin目录下)
注意:在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。&(直接输入命令即可)
2)、输入命令
向url为http://172.18.97.17:8080/admin/auth发送100次请求,包含的数据来自于D:/Desktop/temp/post/post.txt文件,
注意:&'application/x-www-form-urlencoded'有些系统需要去掉 '&
ab -n 100 -p D:/Desktop/temp/post/post.txt -T 'application/x-www-form-urlencoded' http://172.18.97.17:8080/admin/auth
文件D:/Desktop/temp/post/post.txt中数据( 该url需要接收tokenId这个请求 )
tokenId=be4afc178e5ccda93399dd4e
假如需要多个请求可以使用&隔开,如下所示:
tokenId=be4afc178e5ccda93399dd4e
userName=admin&password=e10adc3949ba59abbe56e057f20f883e
结果如下:
4、性能指标
在进行性能测试过程中有几个指标比较重要:
1、吞吐率(Requests per second)
服务器并发处理能力的量化描述,单位是reqs/s,指的是在某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
记住:吞吐率是基于并发用户数的。这句话代表了两个含义:
a、吞吐率和并发用户数相关
b、不同的并发用户数下,吞吐率一般是不同的
计算公式:总请求数/处理完成这些请求数所花费的时间,即
Request per second=Complete requests/Time taken for tests
必须要说明的是,这个数值表示当前机器的整体性能,值越大越好。
2、并发连接数(The number of concurrent connections)
并发连接数指的是某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。
3、并发用户数(Concurrency Level)
要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。在HTTP/1.1下,IE7支持两个并发连接,IE8支持6个并发连接,FireFox3支持4个并发连接,所以相应的,我们的并发用户数就得除以这个基数。
4、用户平均请求等待时间(Time per request)
计算公式:处理完成所有请求数所花费的时间/(总请求数/并发用户数),即:
Time per request=Time taken for tests/(Complete requests/Concurrency Level)
5、服务器平均请求等待时间(Time per request:across all concurrent requests)
计算公式:处理完成所有请求数所花费的时间/总请求数,即:
Time taken for/testsComplete requests
可以看到,它是吞吐率的倒数。
同时,它也等于用户平均请求等待时间/并发用户数,即
Time per request/Concurrency Level
致谢:感谢您的阅读!
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致websocket的并发连接性能测试用什么工具? - 开源中国社区
当前访客身份:游客 [
当前位置:
普通的socket到是用工具可以测,websocket的并发连接测试工具好象找不到
共有4个答案
<span class="a_vote_num" id="a_vote_num_
http://www./WebSocket/ 在线WebSocket测试工具,客户端兼容IE6及以上的websocket收发,服务端支持大量客户端大并发数据收发。
--- 共有 1 条评论 ---
(3个月前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
ab 可以 很简单 &也方便
<span class="a_vote_num" id="a_vote_num_
apache自带的ab.exe 可以
<span class="a_vote_num" id="a_vote_num_
如果没有理解错误,websocket是依托于web server,比如IIS,Apache.所以性能测试也是针对他们提供的socket模型进行.
更多开发者职位上
有什么技术问题吗?
opal的其它问题
类似的话题如何使用ab对WebSocket服务器做并发性能测试_百度知道
如何使用ab对WebSocket服务器做并发性能测试
我有更好的答案
Apache服务器自带了ab压力测试工具,可以用来测试网站性能,使用简单方便。 工具/原料 Apache 方法/步骤 打开Apache服务器的安装路径,在bin目录中有一个ab.exe的可执行程序,就是我们要介绍的压力测试工具。
在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击无法正确运行。
执行ab命令成功后,可以看到如图提示。该帮助很清楚详细的介绍了ab的用法以及各个参数的含义。 ab 的用法是:ab [options] [http://]hostname[:port]/path 例如:ab -n 5000 -c 200 http://localhost/index.php 上例表示总共访问http://localhost/index.php这个脚本5000次,200并发同时执行。
ab常用参数的介绍: -n :总共的请求执行数,缺省是1; -c: 并发数,缺省是1; -t:测试所进行的总时间,...
其他类似问题
为您推荐:
websocket的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 高性能并发服务器 的文章

 

随机推荐