标签: performance-testing

定时Fortran多线程程序

我有一个调用多线程例程的Fortran 90程序。我想从调用例程中计时该程序。如果使用cpu_time(),最终将所有线程(本例中为8)的cpu_time加在一起,而不是程序运行的实际时间。该etime()例程似乎也是如此。关于如何计时该程序(不使用秒表)的任何想法?

time fortran openmp performance-testing

3
推荐指数
1
解决办法
5679
查看次数

测试Amazon EC2,RDS和ELB性能

我有一个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

3
推荐指数
1
解决办法
8536
查看次数

查询性能缓慢的原因是什么?

我正在阅读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)

mysql performance-testing

3
推荐指数
2
解决办法
1866
查看次数

JMeter HTTP请求从文件发布正文

我试图通过JMeter发送HTTP请求.我创建了一个循环计数为25的线程组.我的上升时间为120,线程数设置为30.在线程组中,我有20个HTTP请求.关于JMeter如何运行这些请求,我有点困惑.线程组中的20个请求中的每一个都在单个线程中运行,并且线程组上的每个循环在不同的线程上并发运行吗?或者20个请求中的每个请求在可用时在不同的线程中运行.

我的另一个问题是,在每个循环中,我想改变通过HTTP请求发送的帖子数据的主体.是否可以通过文件传递post数据体,而不是将数据插入JMeter Body Data选项卡,如下所示:

在此输入图像描述

但是,我想要定义某种变量,它根据正在运行的线程组的迭代来选择一个文件,例如,如果它第二次循环遍历线程组,我想调用test2. txt,如果第三次test3.txt等,这些文本文件将包含不同的帖子数据.有没有人可以告诉我,如果JMeter可以做到这一点,如果可以的话,我将如何做到这一点.

testing jmeter performance-testing

3
推荐指数
1
解决办法
9923
查看次数

JMeter中响应代码302的解决方案?

测试Web应用程序.我只为一个网页吸引了100个用户,100个加速和循环计数1.

图像描述1:在HTTP请求页面上如果我标记为已选中跟随重定向,则结果显示失败.

在此输入图像描述

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

在此输入图像描述

这是一个错误吗?那么这个解决方案是什么?谁将解决这个问题,开发人员(构建代码)或测试人员(使用jmeter)?] 1

请一位回复.谢谢

testing unit-testing jmeter load-testing performance-testing

3
推荐指数
1
解决办法
6648
查看次数

如何在jmeter中获取网页的响应时间?

如何使用响应时间图侦听器生成csv文件并加载csv?

谁能详细帮助我如何在jmeter中找到响应时间

performance jmeter performance-testing

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

Array.pop()在循环中的确比Array.length =快50倍

我的问题是由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()在一个循环实际上这远远超过其他测试更快吗?我没有看到测试中存在缺陷吗?

javascript arrays performance performance-testing

3
推荐指数
1
解决办法
1322
查看次数

测量执行时间ECLiPSe CLP(或Prolog)

如何在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位小数)?

performance prolog performance-testing eclipse-clp

3
推荐指数
1
解决办法
676
查看次数

Tsung - 达到单个VM中的最大并发用户数

我是tsung性能测试的新手.我使用brewMac 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)

load-testing performance-testing tsung

3
推荐指数
1
解决办法
2089
查看次数

为什么在Julia-Lang中进行更多的运算时,简化的数学方程式的运行(略)慢于其等价方程式?

在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)

我用一些技巧优化了它们,包括:

  1. (a*b + a*c) -> a*(b+c) 因为加法比乘法快。
  2. a^2 -> a*a 避免电源操作。
  3. 如果长时间操作至少使用了两次,请将其分配给变量以避免重复计算。例如:
x = a * (1+c^2); y = b * (1+c^2)
->
temp = 1+c^2
x …
Run Code Online (Sandbox Code Playgroud)

math performance-testing simplify julia

3
推荐指数
1
解决办法
63
查看次数