【问题标题】:Load or Stress Testing Tool with URL Import Functionality具有 URL 导入功能的负载或压力测试工具
【发布时间】:2009-11-25 10:58:54
【问题描述】:

有人可以推荐一个负载测试工具,它允许您:

a. 重放 IIS (7) 日志以模拟真实的现场日常运行;
b. 导入 CSV 或等效列表URLS,因此我们可以在 URL 级别实现与上述类似的事情;
c. .net API 以便我可以从我的 URLS 列表轻松创建简单的测试也是一个不错的方法.

我真的不想记录我的测试。

我想我可以用 WAPT 做 B),但需要手动创建一个 XML 文件,不是太伤心,但想知道是否有任何工具可以开箱即用地涵盖这些场景。

【问题讨论】:

标签: load-testing stress-testing


【解决方案1】:

Visual Studio 测试版需要一些代码来将文件解析为合适的测试运行。

这是一个很棒的负载测试解决方案。

【讨论】:

  • 感谢 Nat,我会努力争取的。是的,负载引擎的 .net API 对我来说也是一个好方法,会增加问题。
  • 您可以使用 LogParser 将日志导入 .Net,Visual Studio 中用于测试的 webtest 格式是 xml,因此并非完全不可能创建。
【解决方案2】:

我们的load testing service 让您可以使用 JavaScript 编写一个非常简单的脚本,从 CSV 文件中提取数据,然后获取这些 URL。例如,以下代码将从 CSV 文件中提取 10 个随机 URL,并将它们作为单个会话的一部分获取:

var c = browserMob.openHttpClient();
var csv = browserMob.getCSV("urls.csv");

browserMob.beginTransaction();

for (var i = 0; i < 10; i++) {
    browserMob.beginStep("Step 1");
    var url = csv.random().get("url");
    c.get(url);
    browserMob.endStep();
}

browserMob.endTransaction();

CSV 文件本身需要是一个普通的 CSV 文件,第一行包含一个名为“url”的标题。将为参与负载测试的每个虚拟用户重复运行此脚本。

【讨论】:

  • 帕特里克,这看起来很棒!但这仅在互联网站点上运行吗?即我可以在本地开发机器上运行它吗?
  • 目前您的网站必须在外部可用(或在亚马逊云内部)。我们正在研究防火墙后解决方案,但还没有完全准备好。
  • 嗨帕特里克,谢谢,如果你有更新,请发布,我现在会看看其他途径。
【解决方案3】:

我们在名为Yandex.Tank 的开源工具中支持所谓的“uri-format”,您只需将所有 uri 放入一个文件中,一个 uri -- 一行,然后在 load.ini 中指定标题,例如这个:

[phantom]
address=example.org
rps_schedule=line(1, 1600, 2m)
headers = [Host: mts-maps.yandex.ru]
  [Connection: close] [Bloody: yes]
ammo_file = ammo.uri

ammo.uri:

/
/index.html
/1/example.html
/2/example.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 2010-10-27
    • 1970-01-01
    • 2011-12-08
    相关资源
    最近更新 更多