标签: performance-testing

如何使用真实世界数据库对Rails应用程序进行性能/基准测试?

我想对Rails应用程序进行性能测试.

现实世界数据大小为100 MB.

但Rails总是重建测试数据库,它会覆盖现实世界的数据.

那么如何进行性能测试呢?

testing ruby-on-rails performance-testing

9
推荐指数
1
解决办法
2743
查看次数

如何在单页(Web)应用程序上进行"最终客户端"性能测试?

我们正在评估如何在单页面应用程序(SPA)上测试性能,该应用程序在很大程度上依赖于JavaScript和动态内容(通过Ajax更新).

流行的负载测试工具(如Apache JMeterGatling)可以通过发送HTTP请求来生成大量负载,而且硬件很少.但他们不处理任何Javascript代码.

我们希望衡量客户所感知的性能,即最终用户坐在浏览器前面所感知的(包括所有呈现和JavaScript开销).

我们有以下备选方案:

  1. 使用Selenium Grid在多台计算机上同时运行测试脚本.每个实例都将在运行时收集的延迟数据提交到中央存储库.

  2. 与上面类似,只是启动了一个Selenium脚本实例.然后我们将JMeter/Gatling在后台产生重负荷.

  3. 根本不要使用Selenium.在使用JMeter/Gatling运行负载测试时,使用Firebug,YSlow等工具手动检查页面的行为.

每种方法都有其优点和缺点.在(1)我能够创建最"逼真"的负载,但它不能扩展,(2)通过JMeter/Gatling进行扩展,但我必须确保它们创建的负载不会偏离实际应用程序和(3)是最容易设置的,但它显然是耗时的,因为它不是自动化的.

到目前为止,我找不到任何关于这个主题的工具,框架甚至是一套指导方针,所以我想从SO的专家那里了解到:他们使用什么样的方法进行这种测试?

Selenium Grid常见问题解答中的这一条目指出*"使用真实浏览器进行性能/负载测试是一个非常糟糕的主意,因为扩展负载很困难/昂贵且实际负载非常不一致......".我只能认为它们指的是" 后端性能/负载测试 ".否则,如果我对最终用户的表现感兴趣,那么替代方案是什么?

javascript testing performance performance-testing single-page-application

9
推荐指数
1
解决办法
7012
查看次数

JMeter给出"目标服务器失败"错误

我们使用Jmeter进行性能测试.我给了10个线程(10个用户),加速时间为60秒,有4个用户未能注销org.apache.http.NoHttpResponseException: The target server failed to respond

我们的脚本就是这样的.用户登录,访问列表页面并执行一次提交操作并访问提交的详细信息页面.每个用户都会执行三次并注销.当我只有一次而不是三次它运行良好,但当我配置脚本做三次然后我面对上面提到的错误.

我真的不确定是否与Jmeter设置或服务器设置有关?

jmeter performance-testing

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

如何模拟慢速DVD驱动器?

有没有人知道模拟慢速DVD驱动器的任何可行方法,例如通过安装的DMG/ISO映像?

目标是针对慢速驱动进行编程,从而满足模拟要求.任何想法将不胜感激!

更新:再次,目标是模拟缓慢的I/O流程.不幸的是,Network Conditioner或Charles等工具无法提供解决方案.涓涓细流已经过时,没有更积极的开发:(

macos iso dvd dmg performance-testing

9
推荐指数
1
解决办法
372
查看次数

如何在Angular中测试渲染速度

我们正在构建一个Angular应用程序,我们正试图弄清楚如何获得渲染各种页面需要多长时间的基准.我在performance.timing 这里读过,但这似乎只适用于非单页面应用程序,因为当我在应用程序中导航到新视图时,时序数字不会改变.

理想情况下,我们可以插入一些代码来获取各种视图的渲染时间,并将它们发布到我们的Big Query服务中.

关于如何在Angular应用程序中获取视图的时序信息的任何想法?

编辑:

更具体地说,您将转到加载大型重复列表的路径(这对于性能而言不是最佳的),并且窗口在实际呈现列表中的项之前有很长的延迟.我们想看看从大空白视图到渲染列表中的项目需要多长时间.

javascript performance performance-testing angularjs

9
推荐指数
2
解决办法
8131
查看次数

为什么`if`在语句之前检查比在语句之后检查要快得多?

这是我的意思的一个例子:

s = """
if x > 10:
    x -= 10
else:
    x = 0
"""
import timeit
print(timeit.timeit(s, setup="x=5", number=99999999))
Run Code Online (Sandbox Code Playgroud)

在我的电脑上输出大约3秒钟,无论设置如何(x=5vs x=15,没有区别)


如果我要使用更短的代码,首先减少代码,x -= 10然后再检查是否x < 0,我会得到更糟糕的结果:

s = """
x -= 10
if x < 0:
    x = 0
"""
import timeit
print(timeit.timeit(s, setup="x=5", number=99999999))
Run Code Online (Sandbox Code Playgroud)

它6秒输出各处,再次不管初始值是否x515.


我知道,x < 10自从我们第一次打电话x -= 10然后设置x = 0而不是简单地设置x一次就会慢一点.

问题是,99%的时间x我的程序中的初始值被设置为远高于10的数字,所以我认为我会使用较短的版本,因为大多数时候我应该看不出性能上的差异.

然而,即使是 …

python performance performance-testing python-3.x

9
推荐指数
1
解决办法
136
查看次数

在服务器请求之后测量JSF视图的渲染时间

我想测量JSF应用程序的渲染时间.由于我的权力原因,应用程序无法填充日志.

因此,我的问题是,在使用任何浏览器执行包含后端(服务器)调用的特定操作之后,有什么方法可以衡量应用程序的呈现时间?

到目前为止,在使用Chrome开发者工具后,我发现了以下内容.在"网络"选项卡上,每个请求都显示"时间".此外,在选择某个条目后,在"定时"选项卡上,将显示更详细的可视化.现在,我可以从中了解到,"Waiting"表示它在这里捕获到服务器的往返,但是实际的渲染时间呢.

假设整个请求耗时1秒,等待部分耗时500毫秒,我能否推断渲染时间是1秒-500毫秒?我不这么认为,这就是我问这个问题的原因.

简而言之,我需要从浏览器中了解服务器处理需要多长时间以及实际UI渲染时间.

任何提示将非常感谢.谢谢.

rendering performance-testing jsf-2 google-chrome-devtools

9
推荐指数
1
解决办法
1890
查看次数

用于运行Web性能测试的.NET库

我用Selenium Webdriver在C#上编写了测试.现在我需要测试应用程序的性能.我使用FiddlerCore,但它没有页面渲染时间或动态内容的时间(ajax,js等).

有人知道像FiddlerCore这样的库,但是有更多的功能,比如dynatrace Ajax版或者是C#的browsermob-proxy吗?

编辑1:我不需要任何解决方案.我想仅使用WebDriver进行测试.

.net c# fiddler load-testing performance-testing

8
推荐指数
1
解决办法
3401
查看次数

HashMap性能Java 9比Java 8低25%?

注意:这与性能问题无关.我只观察到无法解释/理解的性能差异.

在对一些针对Java 9的新开发的代码进行基准测试时,我发现了一些奇怪的东西.HashMap带有5个密钥的(非常)简单基准测试表明,Java 9比Java 8慢得多.这可以解释一下,还是我的(基准)代码完全错误?

码:

@Fork(
    jvmArgsAppend = {"-Xmx512M", "-disablesystemassertions"}
)
public class JsonBenchmark {

    @State(Scope.Thread)
    public static class Data {

        final static Locale RUSSIAN = new Locale("ru");
        final static Locale DUTCH = new Locale("nl");

        final Map<Locale, String> hashmap = new HashMap<>();

        public Data() {
            hashmap.put(Locale.ENGLISH, "Flat flashing adjustable for flat angled roof with swivel");
            hashmap.put(Locale.FRENCH, "Solin pour toit plat inclinée");
            hashmap.put(Locale.GERMAN, "Flachdachkragen Flach Schrägdach");
            hashmap.put(DUTCH, "Plakplaat vlak/hellend dak inclusief glijschaal");
            hashmap.put(RUSSIAN, "?????? ????? ??????? …
Run Code Online (Sandbox Code Playgroud)

performance-testing jmh java-9

8
推荐指数
2
解决办法
2453
查看次数

如何测试现代角度应用的性能/负载

我想加载/性能测试使用angular 6+作为前端框架的Web应用程序。该应用程序很大,并使用了许多向导/模态等。我想做一些“真正的” e2e前端测试(不仅测试API调用,还测试js渲染等)。

目前有什么最新的方法和工具来测试这样的应用程序?

为了明确起见,我想进行一些真正的端到端性能测试,例如以无头模式打开浏览器,打开向导并获取向导出现之前所花费的时间。就像使用硒进行前端测试一样。我也可以用硒来做,但我不知道它是否合适。

testing performance load-testing performance-testing angular

8
推荐指数
1
解决办法
5416
查看次数