问题标签 [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.
invisible-recaptcha - 无形的recaptcha大幅增加了首次交互时间
根据 Lighthouse 的测量,包含 Google 的“隐形验证码”似乎大大增加了“首次交互”(以及随后的“持续交互”)时间。
我使用 HTML5 样板模板设置了两个空网页。这些站点的不同之处仅在于包含了recaptcha API 脚本;即这一行:
第一个(非recaptcha)站点接收与第一个有意义的绘制时间相等的第一个交互时间。
第二个(recaptcha)站点的第一个交互时间约为 14 秒,估计输入延迟时间约为 1.6 秒:
我按照 Google 的说明将脚本包含在该<head>
部分的底部,但是我也尝试将脚本包含在<body>
(以及 withasync
和defer
)的底部,但没有明显改进。
这是 Lighthouse 测量首次交互方式(特别是考虑到它仍被标记为“测试版”)或 Recaptcha 的问题吗?如果是后一种情况,这是否值得担心,如果是,有没有办法减轻影响?
css - 按字母顺序排序 CSS 属性是否会给 GZIP 和 brotli 压缩带来任何好处?
按字母顺序排序 CSS 属性是否会给 GZIP 和 brotli 压缩带来任何好处?
javascript - onunload 如何影响页面性能
我有一个在处理程序中做大量工作的网站window.onunload
。我正在努力优化它,但我并不真正了解它如何影响我的页面性能。似乎它阻止重新加载页面或导航到同一域上的另一个 URL,但它似乎并没有阻止跨域导航。它似乎也会在 Chrome 上间歇性地导致性能问题,但在 IE 上更一致地重现。有人可以解释如何window.onunload
影响网站性能或指向我的规范吗?
html - HTML/CSS - css 过滤器是否会创建许多降低网页渲染速度的渲染层?
我有一个用 SlickGrid 构建的数据网格。我使用css 亮度过滤器使奇数行比偶数行更暗,并使用css 背景混合使选定行具有蓝色,同时仍保持奇数/偶数行颜色交替。
只是给出一些想法,网格看起来像这样:
我最近意识到的是,网格在垂直滚动时开始闪烁。一般来说,新行的输出比以前慢一些,偶数行的输出速度比奇数行快。它让您在快速滚动期间感觉所有奇数行(应该更暗)都是空的,而偶数行有数据。
我已经按照一些教程检查了 chrome 开发工具,我可以找到这些教程来解决渲染性能问题。我注意到亮度过滤器创建了许多图层边界。我认为它使每一行成为一个单独的层。
关闭样式确实使渲染更快,我的问题是它是否因为css过滤器和图层而变慢,或者只是因为我有很多样式要应用?
javascript - MozAfterPaint 的非 Mozilla 等价物?
我正在寻找一种测量反应时间的方法(在呈现某些图像后用户可以多快按下键)。测量按键的时间显然没有问题,但我还没有弄清楚如何测量绘制事件/呈现刺激的时间。Mozilla 的 MozAfterPaint 似乎非常适合这一点,但其他浏览器是否有等价物?
html - 为什么仍然使用带有过期标头的条件 GET (304)
我正在学习网络性能。
据我所知,当请求一个资源时,请求头的资源:“过期”或“缓存控制”仍然有效,浏览器不会发出有条件的 GET 来询问服务器是否修改了资源。
那么,为什么当我提出这个请求时浏览器总是做出有条件的 GET:https ://www.debian.org/Pics/debian.png
webserver - VPS服务器很慢
我有一个带有 Linode 的 VPS 服务器。起初它非常快,但现在加载网页最多需要 23 秒。这太骇人听闻了。我曾尝试配置 Apache 和 MySQL 密钥缓冲区,但都无济于事。我可以得到一个标准的 VPS 配置。我的 VPS 是 Linode 16GB Ram 和 320GB SSD。根据谷歌分析,我每月的页面浏览量达到 2,073,000 次。服务器需要什么适当的配置才能快速?以及如何增加服务器响应时间(目前,google pagespeed 说服务器响应时间是 1.2 秒,这非常慢。)这对我来说是一个很大的挑战。
websocket - 测量 websocket 传输率
我正在编写一个前端应用程序,它需要知道服务器的当前传输速率是多少。使用 HTTP 时,由于性能 API,这很容易。您只需使用即可访问 HTTP 调用的许多测量值
然而,这个 API 似乎没有涵盖 WebSockets。所以我一直在努力寻找一种没有它的方法。
似乎MessageEvent有一个时间戳,指示创建事件的时间。但是,没有太多关于何时创建 MessageEvent 的文档。是在接收第一个字节时(我希望如此)还是在整个消息被下载后(可能是这种情况)。有谁碰巧知道是否有更多关于浏览器如何管理 WebSockets 消息的详细信息?
更一般地说,在没有服务器端帮助的情况下,如何从前端测量 WebSockets 传输率?
visual-studio - Visual Studio 负载测试
我有一个 Web 应用程序,我想使用 Visual Studio 负载测试功能对其进行测试。我可以在本地机器上成功创建负载测试。
我的应用程序部署到 Windows Server,我想使用 TFS 对其进行测试。我也可以使用我的 Web 应用程序部署负载测试吗?
我需要一个压力测试,所以我想使用几个小时的负载测试,这在我的本地机器上非常困难,但不幸的是我没有找到任何有用的教程。
我的期望是我可以部署我的负载测试,并且我可以在没有本地机器和 Visual Studio 的情况下运行它。