tcp/udp高并发和高吐吞性能测试工具
在编写一个网络服务的时候都比较关心这个服务能达到多少并发连接,而在这连接的基础上又能达到一个怎样的交互能力.编写服务已经是一件很花力气的事情,而还要去编写一个能够体现结果的测试工具就更加消耗工作时间.下面介绍一个测试工具只需要简单地设置一下就能对tcp/udp服务进行高并发和高吐吞的性能测试,并通过图形化的方式反映测试结果.
工具是采用用.NET编写,所以需要.NET FRAMEWORK才能运行.虽然.net在这方面的给人的感觉性能不怎么出色,但这个工作出色性能足够满足大部分服务端的压力测试.
工具主界面

工具非常简单易用,只需要设置几项内容就可以对于个服务端进行压测.在这里比较注意的就是测试模式这里,工具主要提供两种测试模式分别是
应答模式:当连接接收服务端响应后马上进行下一次请求消息发送
间隔模式:连接根据设置的间隔时间来进行发送请求消息
消息编辑
在发起测试之前还需要给工作添加测试消息,明确工具向服务器发送那些消息内容

可以根据自己的需要编辑多发送的消息,每个连接都会轮遁把这些消息发送给服务端,消息的编码也可以根据自己需要设置.工具提供4种分别是:ascii,utf8,hex和base64.
当以上工作都准备好后就可以点击测试按钮进行测试,工具下方的几个曲线走势图会反映测试过程数据收集的结果.通过这些结果你就能了解到服务端响应的情况和整体吞吐浏览走势.
工具到底具备怎样的压力效能呢,下面通过两个测试用例反映工具具备的测试能力.
测试用例1
构建一个简单的TCP服务,然后在另一台机构建5000个连接的请求测试(测试电脑是一台笔记本),请求消息大小为1K;测试结果如下:

从结果来看5000个连接请求测试结果反映出整体交互是每秒6W个发送和6W个接收,而产生带宽上下行分别是60MB,那基本已经把测试环境1Gb的带宽跑完了.从系统的资源管理器来看的确是这样子.
测试用例2
这个测试主要把发送的消息设置成4K,由于网络环境所以只能把测试工具和服务端放在同一台PC上.而测试的连接数降到的2000个

测试结果反映socket的读写量分别是4W左右,而上下行的带宽分别170MB左右,算起来大概带宽达到3-4Gb之间.
HTTP测试
组件也可以对HTTP进行测试,由于测试工具是基于长连接测试,所以请求描述必须用HTTP 1.1,并设置keep-alive;具体消息设置如下:

总结
从以上两个测试用例的结果反映,工具具备着非常不错的压力测试效率.相信对于大部分TCP/UDP服务压力测试工作都能胜任.由于工作采用的随机端口分配,所以在创建连接的数量上会有一定的限制,后面会调整一下根据本机IP情况过行手动绑定,这样相信可以满足一些需大量连接服务测试.
tcp/udp高并发和高吐吞性能测试工具的更多相关文章
- 优秀开源项目之三:高性能、高并发、高扩展性和可读性的网络服务器架构State Threads
译文在后面. State Threads for Internet Applications Introduction State Threads is an application library ...
- [ 高并发]Java高并发编程系列第二篇--线程同步
高并发,听起来高大上的一个词汇,在身处于互联网潮的社会大趋势下,高并发赋予了更多的传奇色彩.首先,我们可以看到很多招聘中,会提到有高并发项目者优先.高并发,意味着,你的前雇主,有很大的业务层面的需求, ...
- java亿级流量电商详情页系统的大型高并发与高可用缓存架构实战视频教程
亿级流量电商详情页系统的大型高并发与高可用缓存架构实战 完整高清含源码,需要课程的联系QQ:2608609000 1[免费观看]课程介绍以及高并发高可用复杂系统中的缓存架构有哪些东西2[免费观看]基于 ...
- 在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?
在高并发.高负载的情况下,如何给表添加字段并设置DEFAULT值? 在Oracle 12c之前,当Oracle表数据量上亿时,对表执行“ALTER TABLE XXX ADD COLUMN_XX VA ...
- 5.如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?
作者:中华石杉 面试题 如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么? 面试官心理分析 其实问这个问题,主要是考考你,redis ...
- 【Distributed】大型网站高并发和高可用
一.DNS域名解析 二.大型网站系统应有的特点 三.网站架构演变过程 3.1 传统架构 3.2 分布式架构 3.3 SOA架构 3.4 微服务架构 四.高并发设计原则 4.1 拆分系统 4.2 服务化 ...
- 面试系列15 如何保证Redis的高并发和高可用
就是如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用 我这里会选用我之前讲解 ...
- 5. 支撑高并发,高可用,海量数据备份恢复的Redis重要性
商品详情页的架构实现 缓存架构 第一块儿,要掌握的很好的,就是redis架构 高并发,高可用,海量数据,备份,随时可以恢复,缓存架构如果要支撑这些要点,首先呢,redis就得支撑 redis架构,每秒 ...
- QPS/QPS/PV/UV/服务器数量/并发数/吐吞量/响应时间计算公式
QPS:每秒查询率(Query Per Second) ,每秒的响应请求数,也即是最大吞吐能力.QPS = req/sec = 请求数/秒QPS统计方式 [一般使用 http_load 进行统计]QP ...
随机推荐
- rpm常用命令
* 手动安装 rpm 包 `rpm-ivh xxxxx.rpm` 参数: --force 即使覆盖其他包的文件也没强迫安装 --nodeps 即使依赖包没安装,也被强制安装 * 查看 rp ...
- NOIP2016普及组
普及组.代码有空发. 第一题就是买铅笔.暴力模拟绝对可取. 第二题就是回文日期.从t1的年份到t2的年份枚举每一年.头尾要特判. 第三题就是海港.骗了40分. 第四题就是魔法阵.不太好优化. 完.
- 线段树初步&&lazy标记
线段树 一.概述: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点. 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a, ...
- HTML可编辑的select
HTML可编辑的select实现原理还是用select和input伪装成的! <!DOCTYPE html PUBLIC "-//W3C//Dth XHTML 1.0 Transiti ...
- VBA用户控件
窗体相关 1.显示窗体 UserForm1.show [vbModeless] vbModeless 可选参数,参数设定后,变成无模式窗体.窗体保持显示状态,仍可操作Excel文件. UserFor ...
- 数据库执行sql报错Got a packet bigger than 'max_allowed_packet' bytes及重启mysql
准备在mysql上使用数据库A,但mysql5经过重装后,上面的数据库已丢失,只得通过之前备份的A.sql重新生成数据库A. 1.执行sql报错 在执行A.sql的过程中,出现如下错误:Got a p ...
- Hibernate配置步骤
1.创建WEB项目 2.从http://www.hibernate.org/下载hibernate-release-4.3.11.Final.zip,并解压. 3.将hibernate必须的包加入li ...
- 两表(多表)关联update的写法
SQL Server示例: update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a ...
- 硬浮点 VFP
http://blog.chinaunix.net/uid-27875-id-3449290.html 编译器对VFP的支持一个浮点数操作最后是翻译成VFP指令,还是翻译成fpa,或者是softf ...
- mysql解压缩安装(一)
MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的.如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\P ...