问题标签 [web-performance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1462 浏览

invisible-recaptcha - 无形的recaptcha大幅增加了首次交互时间

根据 Lighthouse 的测量,包含 Google 的“隐形验证码”似乎大大增加了“首次交互”(以及随后的“持续交互”)时间。

我使用 HTML5 样板模板设置了两个空网页。这些站点的不同之处仅在于包含了recaptcha API 脚本;即这一行:

第一个(非recaptcha)站点接收与第一个有意义的绘制时间相等的第一个交互时间。 非验证码

第二个(recaptcha)站点的第一个交互时间约为 14 秒,估计输入延迟时间约为 1.6 秒:

重新验证

我按照 Google 的说明将脚本包含在该<head>部分的底部,但是我也尝试将脚本包含在<body>(以及 withasyncdefer)的底部,但没有明显改进。

这是 Lighthouse 测量首次交互方式(特别是考虑到它仍被标记为“测试版”)或 Recaptcha 的问题吗?如果是后一种情况,这是否值得担心,如果是,有没有办法减轻影响?

0 投票
2 回答
192 浏览

css - 按字母顺序排序 CSS 属性是否会给 GZIP 和 brotli 压缩带来任何好处?

按字母顺序排序 CSS 属性是否会给 GZIP 和 brotli 压缩带来任何好处?

0 投票
2 回答
142 浏览

javascript - onunload 如何影响页面性能

我有一个在处理程序中做大量工作的网站window.onunload。我正在努力优化它,但我并不真正了解它如何影响我的页面性能。似乎它阻止重新加载页面或导航到同一域上的另一个 URL,但它似乎并没有阻止跨域导航。它似乎也会在 Chrome 上间歇性地导致性能问题,但在 IE 上更一致地重现。有人可以解释如何window.onunload影响网站性能或指向我的规范吗?

0 投票
0 回答
132 浏览

html - HTML/CSS - css 过滤器是否会创建许多降低网页渲染速度的渲染层?

我有一个用 SlickGrid 构建的数据网格。我使用css 亮度过滤器使奇数行比偶数行更暗,并使用css 背景混合使选定行具有蓝色,同时仍保持奇数/偶数行颜色交替。

只是给出一些想法,网格看起来像这样:

在此处输入图像描述 我最近意识到的是,网格在垂直滚动时开始闪烁。一般来说,新行的输出比以前慢一些,偶数行的输出速度比奇数行快。它让您在快速滚动期间感觉所有奇数行(应该更暗)都是空的,而偶数行有数据。

我已经按照一些教程检查了 chrome 开发工具,我可以找到这些教程来解决渲染性能问题。我注意到亮度过滤器创建了许多图层边界。我认为它使每一行成为一个单独的层。

关闭样式确实使渲染更快,我的问题是它是否因为css过滤器和图层而变慢,或者只是因为我有很多样式要应用?

0 投票
0 回答
166 浏览

javascript - MozAfterPaint 的非 Mozilla 等价物?

我正在寻找一种测量反应时间的方法(在呈现某些图像后用户可以多快按下键)。测量按键的时间显然没有问题,但我还没有弄清楚如何测量绘制事件/呈现刺激的时间。Mozilla 的 MozAfterPaint 似乎非常适合这一点,但其他浏览器是否有等价物?

0 投票
1 回答
43 浏览

html - 为什么仍然使用带有过期标头的条件 GET (304)

我正在学习网络性能。

据我所知,当请求一个资源时,请求头的资源:“过期”或“缓存控制”仍然有效,浏览器不会发出有条件的 GET 来询问服务器是否修改了资源。

那么,为什么当我提出这个请求时浏览器总是做出有条件的 GET:https ://www.debian.org/Pics/debian.png

截图请求信息

0 投票
1 回答
570 浏览

webserver - VPS服务器很慢

我有一个带有 Linode 的 VPS 服务器。起初它非常快,但现在加载网页最多需要 23 秒。这太骇人听闻了。我曾尝试配置 Apache 和 MySQL 密钥缓冲区,但都无济于事。我可以得到一个标准的 VPS 配置。我的 VPS 是 Linode 16GB Ram 和 320GB SSD。根据谷歌分析,我每月的页面浏览量达到 2,073,000 次。服务器需要什么适当的配置才能快速?以及如何增加服务器响应时间(目前,google pagespeed 说服务器响应时间是 1.2 秒,这非常慢。)这对我来说是一个很大的挑战。

0 投票
0 回答
167 浏览

websocket - 测量 websocket 传输率

我正在编写一个前端应用程序,它需要知道服务器的当前传输速率是多少。使用 HTTP 时,由于性能 API,这很容易。您只需使用即可访问 HTTP 调用的许多测量值

然而,这个 API 似乎没有涵盖 WebSockets。所以我一直在努力寻找一种没有它的方法。

似乎MessageEvent有一个时间戳,指示创建事件的时间。但是,没有太多关于何时创建 MessageEvent 的文档。是在接收第一个字节时(我希望如此)还是在整个消息被下载后(可能是这种情况)。有谁碰巧知道是否有更多关于浏览器如何管理 WebSockets 消息的详细信息?

更一般地说,在没有服务器端帮助的情况下,如何从前端测量 WebSockets 传输率?

0 投票
1 回答
302 浏览

testing - 我们可以从参数集中填充 QueryString 参数和值吗?

我应该如何在 VSTS 中配置基于 URL 的负载测试,以便我可以使用不同的参数值重复负载测试。我可以从参数集中加载参数和值吗?如果是,该怎么做?

在此处输入图像描述

0 投票
0 回答
145 浏览

visual-studio - Visual Studio 负载测试

我有一个 Web 应用程序,我想使用 Visual Studio 负载测试功能对其进行测试。我可以在本地机器上成功创建负载测试。

我的应用程序部署到 Windows Server,我想使用 TFS 对其进行测试。我也可以使用我的 Web 应用程序部署负载测试吗?

我需要一个压力测试,所以我想使用几个小时的负载测试,这在我的本地机器上非常困难,但不幸的是我没有找到任何有用的教程。

我的期望是我可以部署我的负载测试,并且我可以在没有本地机器和 Visual Studio 的情况下运行它。