标签: load-testing

ApacheBench 结果保存到文件中

我想将 Linux 上的 ApacheBench (ab) 工具保存到文件中。当我使用 -v 2 运行它时,它会在我的 ssh 窗口中显示一些结果。如何将这些数据移动到一个文件中并确保它不再显示在 ssh 上?我已经尝试过 > file.txt 但它不起作用,并且仍然在我的 ssh 窗口中显示数据。

linux bash load-testing apachebench

5
推荐指数
2
解决办法
4536
查看次数

数据库的负载和性能测试

这是第一次,我的团队要求我对数据库进行一些测试,但我不知道如何进行。通过对数据库进行测试,我的意思是,我需要看看它插入记录的速度有多快。以及它能承受多大的压力。就像数据库的负载和性能测试一样。我们将要使用的数据库是XPRESSmp

那么,任何人都可以帮助我,当我们需要测试数据库时,我们通常会进行什么样的测试,以及我可以为此研究哪些工具。我看过的大多数文章大多与 Oracle 和 MySQL 相关。但这完全是一个新的数据库。

我能想到的一种方法是编写一个具有 X 个线程的多线程程序,它将以非常高的速度将数据泵入 XMP。并继续测量每个线程花费的时间。我还能做什么来测试数据库?

我的团队要求我通过测试来破坏数据库,但我们应该知道它是在什么情况下破坏的以及背后的原因是什么。

以及在对数据库进行测试时我应该了解和考虑哪些要点。

PS 我将在单独的 LnP 机器上进行此测试。

database database-testing stress-testing load-testing performance-testing

5
推荐指数
1
解决办法
1万
查看次数

Siege 启动错误 - 无法连接到套接字

我正在运行 64x Ubuntu 12.10 并尝试使用 siege 2.70。问题是当我尝试测试服务器的 IP 地址或例如 google.com ip - 173.194.39.130 时

siege -g http://173.194.39.130
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

[error] socket: unable to connect sock.c:222: Connection refused
Run Code Online (Sandbox Code Playgroud)

就是这样。

当我做

siege -g http://www.google.com
Run Code Online (Sandbox Code Playgroud)

我收到同样的错误和 200 有效响应。

什么可能导致问题?

sockets linux ubuntu networking load-testing

5
推荐指数
1
解决办法
4285
查看次数

JMeter:如何查找java.net.SocketTimeoutException的原因?

我正在为我的 Web 应用程序进行负载测试,并将连接超时和响应超时设置为 20 秒,有时我会遇到如下异常:

非 HTTP 响应代码:java.net.SocketTimeoutException:非 HTTP 响应消息:读取超时

我在 JMeter 测试结果中得到上述异常,并且我的应用程序中没有抛出任何错误,并且没有堆栈跟踪可用于跟踪异常。

我想找出该消息的原因:应用程序是否正在等待处理某些内容,或者 SQL 速度较慢,或者线程挂起,或者应用程序因为已满而拒绝连接?

我怎样才能找到抛出此异常的原因,以及如何修复它?

java testing jmeter load-testing socket-timeout-exception

5
推荐指数
1
解决办法
2万
查看次数

如何为我的 AWS 服务器获取有用的负载测试数据?

我在 AWS 上设置了一个系统,其中有一组 ec2 insatnces(作为来自弹性 beanstalk 的应用程序服务器)在自动扩展负载平衡环境中运行。这一切都运行良好。

我想对这个实例进行负载测试,以获得结果,帮助我找出系统还需要做什么,才能处理潜在的数百万用户。到目前为止,我已经使用了一个名为 Locust ( http://locust.io ) 的工具来执行此操作。这允许我根据需要通过代理向我的实例发送请求。但是,我无法判断请求是被路由到多个实例还是不断地路由到同一个实例;如果它们得到了适当的负载平衡,我无法看到每个 ec2 实例正在接收多少请求或它们在负载下的运行状况。(我有一种感觉,请求没有得到正确的负载平衡,因为每次测试运行的相似点上失败率似乎总是急剧增加。)

有没有办法从 AWS ec2 或 elastic beanstalk 控制台获取这些信息,或者是否有更好的基于分布式 Web 的负载测试工具可以提供我需要的数据?

amazon-ec2 load-testing amazon-web-services locust

5
推荐指数
1
解决办法
1030
查看次数

负载测试 AWS API 网关

正如问题所示,我需要以 100 万 RPS 对 API 网关资源执行负载测试。Apache JMeter 是一个非常好的负载测试工具。但我认为不可能从一台机器模拟如此巨大的负载。在这种情况下,JMeter 集群可能会很有用。但设置起来可能会很麻烦。

我想知道还有哪些其他解决方案可以使用?

AWS有提供解决方案吗?(代码管道有运行负载测试的操作,但我猜这不会达到目的)

stress-testing load-testing amazon-web-services aws-api-gateway

5
推荐指数
1
解决办法
5544
查看次数

我可以在 loadimpact/k6 脚本中传递自定义命令行参数吗?

正如官方 loadimpact/k6 文档中所示,我们能够执行 k6 脚本,如下所示:

k6 run github.com/loadimpact/k6/samples/http_get.js
Run Code Online (Sandbox Code Playgroud)

是否可以将自定义命令行参数传递到 k6 测试中?例如,假设我想传入一个 URL,然后从脚本中引用该 URL。

这是开箱即用的支持吗?如果是这样,我怎样才能做到这一点?

load-testing performance-testing k6

5
推荐指数
1
解决办法
7318
查看次数

如何对使用 Opentok 实现的移动视频流应用程序进行负载测试/压力测试?

我们需要测试一个交互式广播解决方案,该解决方案允许观众通过实时视频和语音通信与演示者互动,同样的内容也将广播给更多观众(100 个用户)。该解决方案将使用 OPENTOK API 实施(WEBRTC 视频流)并且仅在移动设备上可用

是否有一个负载/压力/性能测试工具可以处理这个要求,并且基本上允许我生成这 100 个可以流式传输交互式广播的虚拟用户?

stress-testing load-testing video-streaming webrtc opentok

5
推荐指数
1
解决办法
5085
查看次数

Locust 负载测试中分析后术语的含义

我正在使用Locust(现代开源负载测试工具)进行 API 负载测试。
由于它是simulation + analysis工具,我无法理解一些术语。
下面是我对 API 所做的测试的屏幕截图。

测试运行

我想了解的术语:

  1. 之间的关系Number of users to simulate Vs Hatch Rate (Users Spawned/Second)
  2. 从上图可知 的含义Median (ms), Average (ms), Content Size(bytes)
  3. min_wait, max_wait,我们用类中自己的值覆盖的变量的名称WebsiteUser(HttpLocust),min_wait,max_wait 的意义。

接下来,在Charts选项卡中,Locust 显示了 3 个图表,即(Total Requests/Second, Response Time (ms), Number of Users).
无法理解这个图表,
在 中Total Requests/Second,我应该按原样查看相对于时间的峰值吗Number of Users Vs Time Graphs
我如何理解所有图表?

谢谢。
这是一个广泛的问题,但我需要了解这些术语,以便更好地理解图表和分析后得到的数据。

python testing load-testing locust

5
推荐指数
1
解决办法
5625
查看次数

如何在加特林负载测试中为多个虚拟用户使用单个 OAuth2.0 令牌

我需要通过 Gattle 加载测试需要 OAuth2.0 令牌的 API(我是个新手!),但希望每个虚拟用户使用相同的令牌。我正在检索令牌(我认为)并将其放入名为“access”的变量中,但当测试本身开始时,我不断收到“没有定义名为“access”的属性”。

我的令牌检索如下所示(以及下面使用的 httpConf):

 class MySimulation extends Simulation {

 val httpConf = http        
    .baseUrl("https://MyBaseUrl.Com/")
    .acceptHeader("application/json") 
    .doNotTrackHeader("1")
    .acceptLanguageHeader("en-UK,en;q=0.5")
    .acceptEncodingHeader("gzip, deflate")
    .userAgentHeader("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0")
    .shareConnections

 val header = Map("Content-Type" -> """application/x-www-form-urlencoded""")

 al auth = scenario("Retrieve Token")
 .exec(http("POST OAuth Req")
 .post("https://SomeTokenUrl")
 .formParam("resource", "someresource")
 .formParam("grant_type", "somegranttype")
 .formParam("client_secret", "someclientsecret")
 .formParam("client_id", "someclientid")
 .headers(header).check(status.is(200)).check(jsonPath("$.access_token").find.saveAs("access"))) 
Run Code Online (Sandbox Code Playgroud)

然后我尝试将负载测试设置为(注意:我最初放置了“Map”,而不是可变变体,但在某处读到默认值是不可变的,并想知道这是否是标头无法更新的原因):

 val headers_10 = scala.collection.mutable.Map("Content-Type" -> "application/json; charset=ISO-8859-1", "Authorization" -> "Bearer ${access}")

 val scn = scenario("MyService Gatling test run")       
           .exec(http("")               
           .post("Myservice/api")
           .headers(headers_10.toMap) …
Run Code Online (Sandbox Code Playgroud)

scala load-testing jsonpath gatling

5
推荐指数
1
解决办法
5593
查看次数