我有一个调用多线程例程的Fortran 90程序。我想从调用例程中计时该程序。如果使用cpu_time(),最终将所有线程(本例中为8)的cpu_time加在一起,而不是程序运行的实际时间。该etime()例程似乎也是如此。关于如何计时该程序(不使用秒表)的任何想法?
我有一个PHP应用程序,我在亚马逊的Web服务上运行.这是一个相对简单的PHP脚本,基本上可以简单地写入SQL数据库.此数据库是Xtra Large RDS实例.PHP在负载均衡器后面的大型EC2实例上运行.
我想做的是强调测试我的脚本,以模拟同时连接的大约800个用户(是的,这确实是估计).
我听说过Siege,但我不知道如何使用它来测试我的应用程序.如果我尝试从家里的连接运行它,我不确定我的PC/ADSL是否足够快以创建足够的流量来模拟800个用户同时攻击EC2(因此RDS).
是否可以在另一个区域中启动另一个EC2实例来简单地"围攻"我的应用程序?或者可能运行2个EC2实例,每个实例都有400个用户!
希望这能够彻底测试负载平衡,RDS和EC2.
有没有人有这种高并发用户测试的经验?
安迪
amazon-ec2 load-testing performance-testing amazon-web-services amazon-rds
我正在阅读tick最大的记录值id.导致执行缓慢的以下查询之间有什么区别?
SELECT tick
FROM eventlog
WHERE id IN (SELECT max(id) FROM eventlog)
Run Code Online (Sandbox Code Playgroud)
SELECT max(id) INTO @id
FROM eventlog;
SELECT tick
FROM eventlog
WHERE id = @id;
Run Code Online (Sandbox Code Playgroud)
CREATE TABLE eventlog (
id INT (11) NOT NULL AUTO_INCREMENT,
tick INT NOT NULL,
eventType_id INT NOT NULL,
compType INT (10) UNSIGNED NOT NULL,
compID INT (10) UNSIGNED NOT NULL,
value_double DOUBLE NOT NULL,
value_int INT (10),
hierarchy_id VARCHAR (255) NOT NULL,
PRIMARY KEY (id),
INDEX htet …Run Code Online (Sandbox Code Playgroud) 我试图通过JMeter发送HTTP请求.我创建了一个循环计数为25的线程组.我的上升时间为120,线程数设置为30.在线程组中,我有20个HTTP请求.关于JMeter如何运行这些请求,我有点困惑.线程组中的20个请求中的每一个都在单个线程中运行,并且线程组上的每个循环在不同的线程上并发运行吗?或者20个请求中的每个请求在可用时在不同的线程中运行.
我的另一个问题是,在每个循环中,我想改变通过HTTP请求发送的帖子数据的主体.是否可以通过文件传递post数据体,而不是将数据插入JMeter Body Data选项卡,如下所示:

但是,我想要定义某种变量,它根据正在运行的线程组的迭代来选择一个文件,例如,如果它第二次循环遍历线程组,我想调用test2. txt,如果第三次test3.txt等,这些文本文件将包含不同的帖子数据.有没有人可以告诉我,如果JMeter可以做到这一点,如果可以的话,我将如何做到这一点.
测试Web应用程序.我只为一个网页吸引了100个用户,100个加速和循环计数1.
图像描述1:在HTTP请求页面上如果我标记为已选中跟随重定向,则结果显示失败.

图像描述2:在HTTP请求页面上,我没有标记跟随重定向检查&创建用户后我运行测试结果没问题,但响应代码:302,响应消息:找到

这是一个错误吗?那么这个解决方案是什么?谁将解决这个问题,开发人员(构建代码)或测试人员(使用jmeter)?] 1
请一位回复.谢谢
testing unit-testing jmeter load-testing performance-testing
如何使用响应时间图侦听器生成csv文件并加载csv?
谁能详细帮助我如何在jmeter中找到响应时间?
我的问题是由Jsperf在这里产生的:
http://jsperf.com/the-fastest-way-to-truncate-an-array/7
设置代码:
Benchmark.prototype.setup = function() {
var test_array = [];
for (var j=0; j< 10000; j++){
test_array[j] = 'AAAAAAAAAA';
}
};
Run Code Online (Sandbox Code Playgroud)
测试:
// Array.slice() method
result = test_array.slice(0,100);
// Array.splice() method
test_array.splice(100);
// Modifying Array.length
test_array.length = 100;
// Array.pop() method
while (test_array.length > 100) test_array.pop();
Run Code Online (Sandbox Code Playgroud)
JSPerf的结果表明,该the Array.pop()方法比其他方法的完成速度更快 - 在某些实现上快了80倍.
这里发生了什么?是Array.pop()在一个循环实际上这远远超过其他测试更快吗?我没有看到测试中存在缺陷吗?
如何在ECLiPSe CLP中测量方法的执行时间?目前,我有这个:
measure_traditional(Difficulty,Selection,Choice):-
statistics(runtime, _),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
time(solve_traditional(Difficulty,Selection,Choice,_)),
statistics(runtime,[_|T]), % T
write(T).
Run Code Online (Sandbox Code Playgroud)
我需要编写执行方法solve_traditional(...)并将其写入文本文件所花费的时间.但是,它不够精确.有时,给定方法的时间将打印0.015或0.016秒,但通常打印0.0秒.
确定方法完成得太快,我决定使用统计信息(运行时,...)来测量两次运行时调用之间的时间.然后,我可以测量完成20次方法调用所需的时间,并将测量的时间T除以20.
唯一的问题是,20次调用T等于0,16,32或48毫秒.显然,它分别测量每个方法调用的时间,并找到执行时间的总和(通常只有0.0秒).这超过了测量N个方法调用的运行时间并将时间T除以N的全部目的.
简而言之:我用于执行时间测量的当前方法是不合适的.有没有办法使它更精确(例如9位小数)?
我是tsung性能测试的新手.我使用brew在Mac OS X中安装了Tsung .经过多次尝试和解决其他一些问题后,我对以下错误感到震惊,我在其他地方找不到合适的解决方案.
我面临以下错误:
"单个虚拟机中达到的最大并发用户数和'use_controller_vm'为真,无法启动新射频!!!检查配置中的'maxusers'值.~n"
我以前运行的命令是:
tsung -f test_performance.xml start -r ssh_no_check
其中ssh_no_check是:
#!/bin/sh
/usr/bin/ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $@
Run Code Online (Sandbox Code Playgroud)
和test_performance.xml是:
<?xml version="2.0"?>
<!DOCTYPE tsung SYSTEM "/path_to_tsung/tsung-1.0.dtd">
<tsung loglevel="warning">
<clients>
<client host="localhost" use_controller_vm="true" maxusers="100"/>
</clients>
<servers>
<server host="server_ip" port="port_num" type="tcp"/>
</servers>
<load>
<arrivalphase phase="1" duration="60" unit="second">
<users arrivalrate="300" unit="second"/>
</arrivalphase>
</load>
<sessions>
<session name="es_load" weight="1" type="ts_http">
<transaction name="transaction_name">
<request>
<http url="url_path" contents="request_body" content_type="application/json" method="POST">
<http_header name="header0" value="value0"/>
<http_header name="header1" value="value2"/>
</http>
</request>
</transaction> …Run Code Online (Sandbox Code Playgroud) 在C ++课程中,我学会了一些技巧,例如避免重复计算,使用更多的加法而不是更多的乘法,避免幂等以提高性能。但是,当我尝试使用Julia-Lang优化代码时,我对相反的结果感到惊讶。
例如,以下是一些未进行数学优化的方程式(所有代码都是用Julia 1.1编写的,不是JuliaPro编写的):
function OriginalFunction( a,b,c,d,E )
# Oprations' count:
# sqrt: 4
# ^: 14
# * : 14
# / : 10
# +: 20
# -: 6
# = : 0+4
x1 = (1/(1+c^2))*(-c*d+a+c*b-sqrt(E))
y1 = d-(c^2*d)/(1+c^2)+(c*a)/(1+c^2)+(c^2*b)/(1+c^2)-(c*sqrt(E))/(1+c^2)
x2 = (1/(1+c^2))*(-c*d+a+c*b+sqrt(E))
y2 = d-(c^2*d)/(1+c^2)+(c*a)/(1+c^2)+(c^2*b)/(1+c^2)+(c*sqrt(E))/(1+c^2)
return [ [x1;y1] [x2;y2] ]
end
Run Code Online (Sandbox Code Playgroud)
我用一些技巧优化了它们,包括:
(a*b + a*c) -> a*(b+c)
因为加法比乘法快。a^2 -> a*a
避免电源操作。x = a * (1+c^2); y = b * (1+c^2)
->
temp = 1+c^2
x …Run Code Online (Sandbox Code Playgroud) jmeter ×3
load-testing ×3
performance ×3
testing ×2
amazon-ec2 ×1
amazon-rds ×1
arrays ×1
eclipse-clp ×1
fortran ×1
javascript ×1
julia ×1
math ×1
mysql ×1
openmp ×1
prolog ×1
simplify ×1
time ×1
tsung ×1
unit-testing ×1