标签: performance-testing

网站性能测试:如何最好地估算计算机性能?

我的网页上有一些浏览器密集型的CSS和动画,我想确定用户是否有快速PC,因此我可以相应地扩展内容以提供最佳体验.

我正在使用http://detectmobilebrowser.com的脚本来检测所有移动设备,我将包括该子句/android|ipad|ipod|playbook|silk/i.test(a)以包括所有平板电脑设备.

然而,这不能也不能真正解决实际的硬件问题.绘制一张我正在寻找的图片并不是很遥远.

例如,iPhone 4S将比移动用户代理检测器匹配的许多设备具有更强大的功能,而这使得它无法将自己与众不同.有人可能会在奔腾II机器上运行谷歌浏览器(不知何故),并希望查看我的页面.(这个人可能没有iPhone 4S)

显然,为了实际获得这个想法,我将不得不做一些实际的性能测试,并且与任何类型的应用程序的性能测试一样,仅测试应用程序实际执行的任务类型的性能是有意义的.

即使考虑到这一点,我觉得在性能测试程序花费太长时间并且用户已经变得不耐烦之前,很难获得任何合理准确的数字.所以这可能意味着继续它,除非我希望第一次初步印象是完美的.嗯,事实恰恰是这种情况.因此,我无法在"第一次运行后"测量性能并稍后调整参数.

所以我剩下的就是基本上尝试在初始页面加载时执行类似的任务,其方式取决于浏览器渲染和处理速度,同时不向用户呈现任何内容(这样他们仍然认为对用户该页面正在加载),然后优选地在一秒或两秒内获得足够精确的数字以设置实际页面的参数以使其成为动画并以不喜欢幻灯片放映的令人愉悦的方式呈现.

也许我可以<div>在我的测试用例上放置一个整页白色,以便我可以阻止用户看到正在发生的事情,并希望浏览器不会通过避免完成所有工作而变得聪明.

有没有人这样做过?

我知道人们会说,"你可能不需要这样做",或者"必须有更好的方法"或"减少影响的数量".

做我在页面上做的任何事情的原因是它看起来很好.这就是它的全部要点.如果我不关心这个问题就不会存在.目标是让javascript能够确定足够的参数,以便在功能强大的计算机上提供出色的体验,并在功能较弱的计算机上提供可通过的体验.当有更多电力时,应该利用它.所以希望这可以解释为什么这些建议不是问题的有效答案.

javascript testing performance html5 performance-testing

7
推荐指数
1
解决办法
513
查看次数

检测浏览器图形性能?

我有一个图形密集型网站。它有各种 CSS3 动画在模糊的视频背景上运行。它在我的台式机和支持 GPU 的 MacBook Pro 上看起来很棒,但在我的笔记本电脑和 MacBook Air 上运行起来就像垃圾。

所以基本上,我想知道是否有一种方法可以使用 Javascript(或其他东西)检测浏览器图形性能,然后仅在性能达到阈值时应用 CSS 动画。该网站有一个加载屏幕,因此我有一些时间来测试性能。

我知道我可以使用 Modernizr 检测 WebGL,但不幸的是,即使我的笔记本电脑对 WebGL 测试呈阳性,尽管性能非常差,所以我需要一个替代方案。

谢谢

javascript css performance-testing

7
推荐指数
1
解决办法
3191
查看次数

将源代码附加到 Jprofiler

我是使用 JProfiler 的新手。我正在对应用程序进行远程分析。当我单击任何对象的显示源时,它会显示“在源路径中找不到源文件”,因为远程机器上只有二进制文件。有什么办法可以链接源代码。仅供参考,我可以访问可以使用的代码。

java jprofiler performance-testing

7
推荐指数
1
解决办法
2349
查看次数

如何在 Chrome 开发者工具中延迟脚本/资产加载

有什么方法可以通过 Chrome 开发者工具为 Google Chrome 浏览器中的脚本/资产加载添加时间延迟?或者完全阻止脚本加载?

我想这样做的原因是为了查看当脚本/资产加载延迟或加载失败时站点的执行情况。

google-chrome performance-testing google-chrome-devtools web-performance

7
推荐指数
2
解决办法
6620
查看次数

如何在Jmeter中一次运行一个线程组

我有 3 个不同的线程组,即CreateClientGetClient“ListClient”,但是当我开始运行测试时,所有这些线程组都会一一运行。如果我只想运行线程组“获取客户端”,那么我该怎么做?

在此处输入图片说明

jmeter performance-testing

7
推荐指数
2
解决办法
4155
查看次数

如何从 Gatling 的响应体中获取值?

我尝试了在 Gatling.io 上找到的不同方法,但我的问题仍然存在。当我发送 GET 请求时,有一个 API 以 JSON 格式返回一个简短的响应。

获取请求:

http://localhost:some_port/api/endpoint1?parameter1=1234¶meter2=5678

回复:

{“交易”:“6d638b9b-f131-41b1-bd07-0d1c6a1d4bcc”,“参考”:“some_text”}

我需要从响应中获取事务值并在另一个请求中使用它。

下一个请求:

http://localhost:some_port/api/endpoint2?transaction= $transactionValue¶meter=8

到目前为止,我已经尝试使用 regex、jsonPath 和 Int 或 String 值,但结果是 0 或 None。

到目前为止,这是我的场景代码:

import io.gatling.core.Predef._
import io.gatling.http.Predef._

class class1 extends Simulation {

    val httpProtocol = http
        .baseURL("http://localhost:port")
        .inferHtmlResources()
        .acceptHeader("text/html,application/json")
        .acceptEncodingHeader("gzip, deflate")
        .acceptLanguageHeader("en-US,en;q=0.9,hr;q=0.8,sr;q=0.7,bs;q=0.6")
        .userAgentHeader("Mozilla/5.0 (X11; Fedora; Linux x86_64)")

    val headers = Map(
        "Content-Type" -> "application/json")

    val uri1 = "http://localhost:port/api/endpoint1"
    val uri2 = "http://localhost:port/api/endpoint2"

    val scn = scenario("getEndpoint1")
        .exec(http("endpoint1")
            .get("/api/endpoint1?parameter1=1234&parameter2=5678")
            .headers(headers)
      .check(jsonPath("$.transaction").findAll.saveAs("transaction")))
    .pause(3)
    .exec(session => {
      val …
Run Code Online (Sandbox Code Playgroud)

performance-testing gatling scala-gatling

7
推荐指数
0
解决办法
1万
查看次数

Chrome DevTools 中 4 倍慢的 CPU 节流在硬件方面模拟了什么?

这个问题可能有一个更好的论坛,所以我愿意接受建议来移动它。

如果我使用的是 2017 年 15" MacBook Pro(2.9 GHz Intel Core i7)并且我在 Chrome DevTools 中将 CPU 节流到慢 4 倍,我在模拟什么样的硬件?它是否像将时钟速度除以 4 一样简单, 我想不是...

我正在努力确定这种限制级别是否与我正在开发的应用程序相关。

processor performance-testing google-chrome-devtools

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

具有外部依赖项的性能测试

在微服务世界中进行性能测试时(主要是负载测试),您的应用程序依赖的外部依赖项 (API) 的方法是什么,但不由您的团队拥有/控制。在我的情况下,外部依赖项由同一公司内的团队拥有。那么您会指向相应的“真实”集成非产品端点,还是会创建存根并模拟它们的响应时间以尽可能匹配生产?

  • 第一种方法示例:您团队拥有的后端 api 并调用外部 api 来验证客户。您的团队无法控制客户 API,但您在运行负载测试时仍指向他们的集成测试端点。
  • 第二种方法示例:您团队拥有的后端 api 调用发送静态响应并模拟外部客户 api 响应时间的存根。

我意识到这两种方法各有利弊,根据测试的目标,一种方法优于另一种方法。但你最喜欢的是什么?不一定要在上述两者之间进行选择。可以是完全不同的。

stub external-dependencies performance-testing

7
推荐指数
1
解决办法
538
查看次数

使用 Node.js 中的 fetch 测量 API 响应时间

我的 Node.js 应用程序中的功能之一是使用 fetch 函数调用外部 API。我正在尝试找到最准确的方法来测量上述 API 的响应时间。

我正在使用“日期”方法来做到这一点:

     let start_time = new Date().getTime();
      fetch('https://jsonplaceholder.typicode.com/posts/1')
  .then((res) => {
    return res.json();
  })
.then((data) => {
  console.log('Response time:', new Date().getTime() - start_time);
Run Code Online (Sandbox Code Playgroud)

有没有更好\更准确的方法来执行 fetch?

performance-testing node.js fetch-api

7
推荐指数
1
解决办法
1万
查看次数

Android Studio模拟器错误:无法打开/qemu.conf,错误:2

我正在使用 Windows 命令提示符来运行这个 Android Studio 模拟器。可以打开模拟器,但收到错误消息 Failed to open /qemu.conf, err: 2

这个错误是什么意思?以及如何解决该错误?心灵帮助。我是新来的。使用模拟器的目的只是在 VuGen LoadRunner 上进行移动性能测试。可以参考下面链接的截图。谢谢

无法打开/qemu.conf,错误:2

command-line android performance-testing android-emulator android-studio

7
推荐指数
0
解决办法
3317
查看次数