我想将 Linux 上的 ApacheBench (ab) 工具保存到文件中。当我使用 -v 2 运行它时,它会在我的 ssh 窗口中显示一些结果。如何将这些数据移动到一个文件中并确保它不再显示在 ssh 上?我已经尝试过 > file.txt 但它不起作用,并且仍然在我的 ssh 窗口中显示数据。
这是第一次,我的团队要求我对数据库进行一些测试,但我不知道如何进行。通过对数据库进行测试,我的意思是,我需要看看它插入记录的速度有多快。以及它能承受多大的压力。就像数据库的负载和性能测试一样。我们将要使用的数据库是XPRESSmp。
那么,任何人都可以帮助我,当我们需要测试数据库时,我们通常会进行什么样的测试,以及我可以为此研究哪些工具。我看过的大多数文章大多与 Oracle 和 MySQL 相关。但这完全是一个新的数据库。
我能想到的一种方法是编写一个具有 X 个线程的多线程程序,它将以非常高的速度将数据泵入 XMP。并继续测量每个线程花费的时间。我还能做什么来测试数据库?
我的团队要求我通过测试来破坏数据库,但我们应该知道它是在什么情况下破坏的以及背后的原因是什么。
以及在对数据库进行测试时我应该了解和考虑哪些要点。
PS 我将在单独的 LnP 机器上进行此测试。
database database-testing stress-testing load-testing performance-testing
我正在运行 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 有效响应。
什么可能导致问题?
我正在为我的 Web 应用程序进行负载测试,并将连接超时和响应超时设置为 20 秒,有时我会遇到如下异常:
非 HTTP 响应代码:java.net.SocketTimeoutException:非 HTTP 响应消息:读取超时
我在 JMeter 测试结果中得到上述异常,并且我的应用程序中没有抛出任何错误,并且没有堆栈跟踪可用于跟踪异常。
我想找出该消息的原因:应用程序是否正在等待处理某些内容,或者 SQL 速度较慢,或者线程挂起,或者应用程序因为已满而拒绝连接?
我怎样才能找到抛出此异常的原因,以及如何修复它?
我在 AWS 上设置了一个系统,其中有一组 ec2 insatnces(作为来自弹性 beanstalk 的应用程序服务器)在自动扩展负载平衡环境中运行。这一切都运行良好。
我想对这个实例进行负载测试,以获得结果,帮助我找出系统还需要做什么,才能处理潜在的数百万用户。到目前为止,我已经使用了一个名为 Locust ( http://locust.io ) 的工具来执行此操作。这允许我根据需要通过代理向我的实例发送请求。但是,我无法判断请求是被路由到多个实例还是不断地路由到同一个实例;如果它们得到了适当的负载平衡,我无法看到每个 ec2 实例正在接收多少请求或它们在负载下的运行状况。(我有一种感觉,请求没有得到正确的负载平衡,因为每次测试运行的相似点上失败率似乎总是急剧增加。)
有没有办法从 AWS ec2 或 elastic beanstalk 控制台获取这些信息,或者是否有更好的基于分布式 Web 的负载测试工具可以提供我需要的数据?
正如问题所示,我需要以 100 万 RPS 对 API 网关资源执行负载测试。Apache JMeter 是一个非常好的负载测试工具。但我认为不可能从一台机器模拟如此巨大的负载。在这种情况下,JMeter 集群可能会很有用。但设置起来可能会很麻烦。
我想知道还有哪些其他解决方案可以使用?
AWS有提供解决方案吗?(代码管道有运行负载测试的操作,但我猜这不会达到目的)
stress-testing load-testing amazon-web-services aws-api-gateway
正如官方 loadimpact/k6 文档中所示,我们能够执行 k6 脚本,如下所示:
k6 run github.com/loadimpact/k6/samples/http_get.js
Run Code Online (Sandbox Code Playgroud)
是否可以将自定义命令行参数传递到 k6 测试中?例如,假设我想传入一个 URL,然后从脚本中引用该 URL。
这是开箱即用的支持吗?如果是这样,我怎样才能做到这一点?
我们需要测试一个交互式广播解决方案,该解决方案允许观众通过实时视频和语音通信与演示者互动,同样的内容也将广播给更多观众(100 个用户)。该解决方案将使用 OPENTOK API 实施(WEBRTC 视频流)并且仅在移动设备上可用
是否有一个负载/压力/性能测试工具可以处理这个要求,并且基本上允许我生成这 100 个可以流式传输交互式广播的虚拟用户?
我正在使用Locust(现代开源负载测试工具)进行 API 负载测试。
由于它是simulation + analysis工具,我无法理解一些术语。
下面是我对 API 所做的测试的屏幕截图。
我想了解的术语:
Number of users to simulate Vs Hatch Rate (Users Spawned/Second)。Median (ms), Average (ms), Content Size(bytes)。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?
我如何理解所有图表?
谢谢。
这是一个广泛的问题,但我需要了解这些术语,以便更好地理解图表和分析后得到的数据。
我需要通过 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) load-testing ×10
linux ×2
locust ×2
testing ×2
amazon-ec2 ×1
apachebench ×1
bash ×1
database ×1
gatling ×1
java ×1
jmeter ×1
jsonpath ×1
k6 ×1
networking ×1
opentok ×1
python ×1
scala ×1
sockets ×1
ubuntu ×1
webrtc ×1