您使用什么来通过其自定义协议来测试(功能/负载/压力)您的网络服务?

2024-05-27

我最近创建了一个回合制游戏服务器,可以接受数十万个并发客户端连接(长话短说 - Linux 上的 epoll)。通信基于简单、定制、基于线路的协议。该服务器允许客户端连接、寻找游戏比赛中的其他玩家、玩所述游戏(发送动作、聊天消息等),并在游戏结束时收到通知。

我现在想做的是通过模拟客户端连接来测试服务器。我希望能够支持数十万个同时连接,所以这个测试对我来说非常重要。你们自己测试用什么?

我现在正在研究的一些东西是:pexpect(用于功能测试的 python Expect lib)和用于负载测试的 tsung。

我希望能够从我的笔记本电脑进行测试,因为我没有可供连接的客户端计算机集群。也许我需要使用 ip 别名或类似的方法来生成数百个或数千个出站套接字(据我所知,每个接口的限制为 65K)。

不管怎样,在我看来,我需要一些相当定制的东西,但我想在走这条路之前我应该​​先问一下。

Thanks!


我用过JMeter http://jakarta.apache.org/jmeter/在使用自定义协议(基于 Java RMI 的 API)对银行应用程序进行自动回归/负载测试之前,使用自定义采样器和断言组件。

但它并不完全是轻量级的,您最终将在 JMeter 组件中进行大量额外的编码来支持您的自定义协议。我猜在这种情况下您必须编写自己的基于 Java 套接字的客户端。

但它为您定义测试组件的逻辑提供了很大的灵活性,因此您可以在里面做任何您想做的事情。它的扩展性也很好,并且允许您在测试中的系统上抛出大量并发连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您使用什么来通过其自定义协议来测试(功能/负载/压力)您的网络服务? 的相关文章

  • 使用 Numba 加速矢量距离计算

    以下是我为 3 D 环形几何中的距离 平方 计算编写的一些函数 用于该 3 D 空间中的粒子集合 import itertools import time import numpy as np import scipy import num
  • 样式组件如何影响性能?

    使用样式组件是否比样式表更会降低 Web 应用程序的速度 如果我关心性能并且没有任何依赖于 props 的样式 我是否应该放弃样式组件并使用样式表 当您有很多小组件时 同时使用样式化组件渲染 性能开销可能会很有意义 绝对值得测试以删除小元素
  • 从 JavaScript 数组中获取对象值的最大值和最小值

    从 JavaScript 对象数组中获取最大值和最小值的最佳方法是什么 Given var a x 1 y 0 x 1 y 10 x 12 y 20 x 61 y 10 var minX Infinity maxX Infinity for
  • 什么是监控网络活动的好工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我经营的是小区 现在我正在寻找一个在服务器 Windows 或 Linux 上运行的监控工具 它可以跟踪
  • 检测 Android 上的网络连接类型

    如何检测 Android 上的网络连接类型 是否通过ConnectivityManager getActiveNetworkInfo getType 答案是否仅限于 Wifi 和移动设备 如果问题是要确定手机的网络是否已连接且速度是否足以满
  • 我们可以使用什么方法来重塑非常大的数据集?

    当由于非常大的数据计算将花费很长时间并且因此我们不希望它们崩溃时 事先知道要使用哪种重塑方法是很有价值的 Lately methods for reshaping data have been further developed regar
  • 如何检查水豚中的复选框?

    我正在使用 Rspec 和水豚 我怎样才能写一个步骤来检查checkbox 我试过了check按价值但它找不到我的checkbox 我不知道该怎么做 因为我实际上有相同的 ID 但值不同 这是代码
  • Symfony2 功能测试会话持久性

    我正在尝试在 Symfony 中进行一些功能测试 但目前我的会话遇到了问题 我执行了一段代码 它似乎有效 但容器的会话中没有存储任何内容 我有一个表格 您可以在其中设置数据 当您提交它时 它会检查值并将其存储在会话中 然后它重定向到另一个页
  • C# 写入文件的性能

    我的情况概述 我的任务是从文件中读取字符串 并将它们重新格式化为更有用的格式 重新格式化输入后 我必须将其写入输出文件 这是必须完成的操作的示例 文件行示例 ANO 2010 CPF 17834368168 YEARS 2010 2009
  • 如何找到 IIS 在负载/性能测试期间模拟的平均并发用户数?

    我正在使用 JMeter 进行负载测试 我正在练习通过简单地增加我的分布式 JMeter 测试用例中的线程数并启动测试来查找我们的网络服务器可以处理的最大并发线程 用户 数量 然后 我突然意识到 虽然 MAX 数字可能有用 但REAL我的网
  • 对于双核手机,availableProcessors() 返回 1

    我最近购买了一部 Moto Atrix 2 手机 当我尝试查看手机中的处理器规格时 Runtime getRuntime availableProcessors 返回 1 proc cpuinfo 也仅包含有关处理器 0 的信息 出于好奇
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • SQLite .NET 性能,如何加快速度?

    在我的系统上 约 86000 个 SQLite 插入需要长达 20 分钟 意味着每秒约 70 个插入 我要做数百万 我怎样才能加快速度 对每一行的 SQLiteConnection 对象调用 Open 和 Close 会降低性能吗 交易有帮
  • 用java实现我自己的远程桌面

    我正在尝试用java实现我自己的远程桌面解决方案 使用套接字和 TCP UDP 我知道我可以使用 VNC 或其他任何东西 但我想做的是学校的作业 因此 为了移动鼠标并单击 我可以使用 Robot 类 我对此有两个问题 发送视频怎么样 我知道
  • jQuery mousemove 性能 - 节流事件?

    我们面临着与 mousemove 连接的 jQuery 事件传播性能问题 我们有一个屏幕填充画布 需要跟踪用户是否在其上拖动鼠标 因此我们在该对象上添加了一个鼠标移动侦听器 如下所示 ourCanvas on mousemove funct
  • 针对 Soap Web 服务测试应用程序的建议

    我正在寻找一些测试 SOAP Web 服务的建议 我希望能够从 WSDL 创建请求 查看这些请求并检查响应 我还希望它能够与 WS 兼容的服务一起使用 例如使用 WCF wsHttpBinding 时 有什么建议么 我使用 SoapUI h
  • 隐藏类以及 {} 对象与自定义构造函数之间的等效性 (v8)

    鉴于这篇文章 http richardartoul github io jekyll update 2015 04 26 hidden classes html http richardartoul github io jekyll upd
  • Protractor 实例与浏览器

    我曾尝试查找类似的质量检查 但找不到令我满意的 所以基本上我看到在一些例子中它被使用 ptor protractor getInstance ptor get url 在其他一些示例中也使用了它 browser get url 所以问题是
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 尝试对无法访问的主机进行套接字操作

    一位客户在连接到我们的服务器服务的 WCF 客户端上报告了此错误 消息 尝试对无法访问的主机进行套接字操作 类型 System Net Sockets SocketException 从这个链接http msdn microsoft com

随机推荐

  • Python - 在大型数据集上计算多项概率密度函数?

    我原本打算使用 MATLAB 来解决这个问题 但内置函数有局限性 不适合我的目标 NumPy 中也存在同样的限制 我有两个制表符分隔的文件 第一个是显示内部蛋白质结构数据库的氨基酸残基 频率和计数的文件 即 A 0 25 1 S 0 25
  • iOS 联系人 如何通过电话号码获取联系人

    我只想通过电话号码获取联系人姓名 我尝试过这个 但速度太慢 CPU 速度超过 120 let contactStore CNContactStore let keys CNContactGivenNameKey CNContactFamil
  • 在 matplotlib 中用圆裁剪三角形

    我想画一个三角形 但其中一条边需要是圆弧段 该示例不起作用 需要删除圆圈外的所有蓝色 可以直接完成此操作 而无需自己计算整个轮廓吗 谢谢你 import matplotlib pyplot as plt fig plt figure ax
  • 在 Ubuntu 上安装软件包需要很长时间

    我之前使用 Windows 作为操作系统 RStudio 用于 Windows 今天切换到 Ubuntu 并再次安装了 R 和 RStudio 当我尝试从 CRAN 安装一些软件包时 仅tidyverse 使用install package
  • 按索引偶数或奇数将数组拆分为两个数组

    我有这个数组 array array a b c d e f g 我想根据索引是偶数还是奇数将其分成两个数组 如下所示 odd array a c e g even array b d f 提前致谢 一种解决方案 使用匿名函数和array
  • 在 JSP 中从 JavaScript/jQuery 调用后端 Java 方法

    我有一个 JSP 其中有一个select包含实体种类名称的列表 当我选择一个实体类型时 我需要填充另一个实体类型select包含所选实体类型的字段名称的列表 为此 我调用了一个 JavaScript 函数onchange event 在 J
  • ios 无法将图片上传到服务器

    您好 我正在尝试将图像从我的 IOS 设备上传到服务器 这是我上传图像的代码 IBAction btnUpload id sender if self imageViewGallery image nil UIAlertView Error
  • Spring Security SAML:让 块出现在

    我很难让 Spring Security SAML 与 ADFS 2 0 一起使用 根据我当前的配置 生成的AuthnRequest看起来像这样
  • 如何使自定义对话框透明?

    我需要使我的自定义对话框透明 我怎样才能做到这一点 您还可以在构造函数中使用以下行 getWindow setBackgroundDrawable new ColorDrawable 0
  • 未使用 form_with 显示时出错

    早上好 我正在按照教程进行操作http edgeguides rubyonrails org getting started html http edgeguides rubyonrails org getting started html
  • 如何缩放 CAShapeLayer

    我很快就成功制作了动画bezier path它包含在一个CAShapeLayer 我唯一的问题是将其实现到其他屏幕尺寸上 有谁知道我如何扩展CAShapeLayer里面有路径吗 即使其变为原始大小的一半 使用这个函数 var shapela
  • 将 1d 数组索引转换为 3d 数组索引?

    我有一个 int 我想将其转换为 3d 数组索引的 3 个 int 这是我正在处理的示例 byte array new byte XSize YSize ZSize int i 0 other code array cur other co
  • 使用 NXP 读卡器库读取 NFC Mifare 卡

    我正在尝试使用 NFC 读卡器库读取 Mifare Ultralight 卡的内容 我对 NFC 完全陌生 正在使用这个 github 存储库 https github com JohnMcLear NXP Raspberry Pi Car
  • 如何使用 React 和 Jest 模拟 onPaste 事件?

    我正在尝试在我的反应项目上使用 JEST 测试来模拟粘贴事件 我有一个外部组件 App 其中包含带有 onPaste 事件的输入字段 我想测试过去的数据并检查输入值 it on past with small code gt Create
  • 重用 R 中内置的模型

    在 R 中构建模型时 如何保存模型规范以便可以在新数据上重用它 假设我根据历史数据建立逻辑回归 但直到下个月才会有新的观察结果 最好的方法是什么 我考虑过的事情 保存模型对象并在新会话中加载 我知道某些模型可以使用 PMML 导出 但还没有
  • Chrome 和 Firefox 不会在 iframe 中显示大多数 PDF 文档

    我运行的是 Windows 7 64 位 我最近更新了操作系统以安装最新更新 从那时起 大多数 PDF 文档已停止在我的程序中呈现 我的程序想要在单独的 iFrame 中显示 PDF 文档 我通过获取 PDF 文档的 URL 并设置来做到这
  • 如何在 AngularJS/Bootstrap3 中禁用基于复选框的内容

    我正在创建一个表单 用户可以在其中配置重复事件 因此有大量控件 顶部是一个用于启用 禁用计划的复选框 如何禁用但不隐藏基于复选框的整个部分 如果选中 用户应该能够对时间表进行修改 如果没有检查 则不允许进行任何更改 我相当确定我可以在每个控
  • 无法解析配置“:app:_debugCompile”的所有依赖项

    我正在尝试在我的 Android 应用程序上使用 Google 地图 我安装了 Google Play 服务并获取了 API 密钥 我不明白为什么我会收到此错误消息 我认为它抱怨以下内容
  • PhpStorm IDE:Ubuntu 18 LTS 中光标卡在文本选择(突出显示)模式

    我正在使用 PhpStorm 来处理 Laravel 项目 但是 鼠标卡在文本突出显示模式下并且右键单击在 IDE 上不起作用 关闭IDE并重新启动并不能解决问题 我试图在网上寻找答案但没有成功 对于那些像我一样苦苦挣扎的人 我有一个解决方
  • 您使用什么来通过其自定义协议来测试(功能/负载/压力)您的网络服务?

    我最近创建了一个回合制游戏服务器 可以接受数十万个并发客户端连接 长话短说 Linux 上的 epoll 通信基于简单 定制 基于线路的协议 该服务器允许客户端连接 寻找游戏比赛中的其他玩家 玩所述游戏 发送动作 聊天消息等 并在游戏结束时