我正在寻找一种压力测试Web应用程序的好方法.基本上我正在使用可编写脚本的界面搜索类似于ab的内容.理想情况下,我想定义一些任务,模拟webapp上的不同操作(注册帐户,登录,搜索等),该工具运行一堆执行这些任务*的进程.结果我想要"平均请求时间","最慢请求(每个uri)"等等.
*:要从客户端带中独立,我将从一些EC2实例运行这些测试,所以在一个完美的世界中,该工具已经支持这个 - 否则我将脚本使用boto.
python benchmarking web-applications stress-testing performance-testing
长话短说; 我正在测试一个通过网络连接从表中清除条目的系统,预计该功能最多可处理超过 20 亿个条目。
我需要对此进行压力测试才能确定。
这是我的测试脚本(最多可以在十分钟内生成 980 万个。)
DECLARE @I INT=0
WHILE @I <2000000001
BEGIN
INSERT INTO "Table here"
VALUES(@I)
SET @I=@I+1
END
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出任何建议,或者让我了解在这种情况下我的测试环境的上限可能是什么?
为了测试我的 AutoScaling 组,我想模拟一个巨大的 CPU 使用率,以便创建一个新实例(基于我在 Cloudwatch 中配置的指标:平均 CPU >= 60)
EC2 实例是一个简单的 t2.micro,我使用了压力命令:stress -c 1 -t 400s
我可以在顶部看到进程已经启动并且 CPU 使用率为 100%,但问题是它不是恒定的。有时它掺杂到 10% 有时它高达 100%,并且在 cloudwatch 监控中,即使在 5 分钟的压力之后,CPU 平均使用率也低于 20%!
我尝试了其他参数(压力 -c 2 或压力 -c 4),这是同一回事。我也试过这个命令:是> /dev/null &
Cloudwatch 始终无法看到 100% 的 CPU 使用率。
有什么问题 ?亚马逊是否有任何保护措施来限制 CPU 的巨大负载?
谢谢你的帮助。
我在Bean Shell采样器中编写以下脚本但是没有正确执行,
JMeter永远不会进入"if"状态,我做错了什么?
*WRIDTEMP是一个变量,WRId是一个具有从csv文件中检索的值的变量.
if((vars.get("WRIDTEMP")==vars.get("WRId")) || vars.get("WRIDTEMP")==0)
{
String i = vars.get("C");
int counter = Integer.parseInt(i);
counter++;
vars.put("C", "" + counter);
if(counter<10 )
{
vars.put("Message",temp+authString);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个场景,我必须在系统上模拟 150 个登录用户,他们将以每秒 8 个请求的速率向不同的页面发出请求,并具有登录状态。
我该怎么做 假设 1:考虑有两个 http 采样器,一个用于登录功能,另一个用于请求我想要的页面(选择产品页面)。但我的疑问是,这是在其他页面(选择产品页面)上模拟登录用户的正确方法吗?由于登录和选择产品页面请求位于不同的 HTTP 采样器中,因此我猜他们的访问权限将被不同对待,并且我最终将作为选择产品页面上的匿名用户而不是登录用户。请提出解决方案。
我不想每次请求选择产品页面时都登录,因为登录是一个大瓶颈,需要很多时间,我想首先登录所有用户,而不是使用登录用户来 ping 选择- 具有登录状态的产品页面。
如果我有多个 HTTP 采样器(用于登录、选择产品),则对服务器的请求数会增加,但我始终希望将请求数限制为 8。
请帮忙。
谢谢。
嗨,我想从 cookie 中提取一个值并将该 cookie 值作为参数传递给下一个 exec()。我发现一些语法不适用于新的 Gatling 2。有人可以举个例子吗?
谢谢
我需要许多API调用来对我的应用进行压力测试
正在调查加特林-http: //gatling.io/
我对报告和结果感到满意
问题是它在1台计算机上运行,我需要使用来自不同网络的多个HTTP连接进行测试
为此,我请参阅集群运行文档:http : //gatling.io/docs/1.5.6/user_documentation/cookbooks/scaling_out.html
但是它无法提供足够的信息来完成此任务。
我不明白如何在远程计算机上触发测试并知道它们何时完成?
是否有1位用户遇到此问题,并且对此任务有Wiki /解决方案?
谢谢
我尝试使用 JMeter 软件进行压力测试来测试一个网站,因为它在短信活动后崩溃。目前站点已移至物理服务器。
我通过添加线程进行了多次测试,它工作正常并且几乎没有错误(对于 1000 个以上的线程),并且在 400 个线程上工作没有错误。所以我尝试用 4 台 PC 进行分布式测试,包括我的一台。
在我再次尝试仅使用我的 PC 通过添加 400 个线程(ramp up = 1,loop = 1)向站点发送请求之后。但是每个请求都会出错。然后我尝试使用 1 个线程。给出了同样的错误。
我检查了我的网络连接,没有问题。然后我浏览了网站“ http://www.myjobs.lk/ ”,它工作正常。
这些是我在测试中给出的值。
在这种情况下,我无法执行测试,因为它总是会出错。我怎样才能克服这个问题?
是否有读取 csv 文件以获取测试数据的最佳实践方法?
假设我有一个如下所示的 CSV 文件:
username,password
joe,secret1
jane,secret2
bill,secret3
Run Code Online (Sandbox Code Playgroud)
...我想在 k6 脚本中使用这些用户名和密码。
load-testing ×4
jmeter ×3
gatling ×2
scala ×2
amazon-ec2 ×1
analytics ×1
autoscaling ×1
bash ×1
beanshell ×1
benchmarking ×1
java ×1
javascript ×1
k6 ×1
performance ×1
python ×1
testing ×1