生成网页的合理时间是多少?

2024-01-09

我正在开发网络应用程序(基于 Rails 3)。我真的不喜欢生成页面所需的时间 - 根据显示的数据,它需要长达 2.5 秒甚至 4 秒。

所以我只是想知道在应用程序中生成页面的平均合理时间是多少。假设您检查生成时间,例如这是 750 毫秒,然后想“好吧,即使没有缓存也应该没问题”。或者当您看到 1.5 秒时,您会想“天哪,用户不会等这么久并离开网站”


关于从查询到渲染的时间以及用户体验,有大量的研究数据。我建议阅读这篇 useit.com 文章 http://www.useit.com/alertbox/response-times.html。毕竟,谷歌在其结果中整合页面速度是有原因的;)

3 个响应时间限制是 今天和我写关于他们的时候一样 1993 年(基于 40 年前的研究 由人为因素先驱者提出):

  • 0.1秒给人一种瞬间反应的感觉——即 结果感觉像是由 用户,而不是计算机。这个级别 响应能力至关重要 支持直接的感觉 操纵(直接操纵是 关键的 GUI 技术之一 提高用户参与度和控制力 — 有关更多信息,请参阅我们的原则 界面设计研讨会)。
  • 1秒让用户的思维流畅。用户可以感受到 延迟,从而知道计算机是 产生结果,但他们仍然 感觉掌控全局 经验和他们正在移动 自由地而不是等待 电脑。这个程度的 良好的响应能力是必要的 导航。
  • 10 秒保持用户的注意力。从 1 到 10 秒,用户 绝对感受到了 计算机并希望它更快,但是 他们可以处理它。 10秒后, 他们开始考虑其他 的东西,使其更难获得 一旦电脑恢复正常,大脑就会回到正轨 终于回应了。

10秒的延迟往往会导致 用户立即离开网站。和 即使他们留下来,也更难 让他们了解正在发生的事情 使他们不太可能 成功完成任何困难的任务。

根据经验,您应该始终以优化时间与获得的时间之间的平衡为目标。当你的图像没有正确压缩,或者你的脚本/CSS 没有组合时,不要花几天时间优化一个例程。是的,越快越好,但是通过设置智能缓存生成页面的效率提高了 90%,而调整算法一周后生成页面的效率提高了 10%。

当框架必须加载所有内容时,也不要过多关注首次渲染时间,而是使用压力测试(无论是否缓存)来模拟各种情况。

现在,一些数据;我工作的一些最新网站使用了 DotNetNuke(一个巨大的开源 CMS)和 Asp.Net MVC,让您更接近金属。 DotNetNuke 的平均数据库查询平均页面时间为 600-700 毫秒。对于 Asp.net MVC,它是 70-100 毫秒...用户真的很喜欢第二个:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

生成网页的合理时间是多少? 的相关文章

  • Itertools 与嵌套循环性能

    我必须生成列表中所有两对项目组合 现在 我知道有两种方法可以实现这一点 嵌套 for 循环和 python 的内置迭代工具 from itertools import combinations foo 1 2 3 4 for i in xr
  • 包括 collection_select 帮助程序的空白和默认值

    我希望在 Rails 应用程序的下拉列表中有一个 选择一个选项 选项 我正在使用collection select辅助标签 它看起来像这样 我希望下拉菜单的默认选项是 选择国家 地区 Use the include blank option
  • 表单元素的自定义 HTML 错误包装器

    我想找到一种方法来自定义默认错误html div class field with errors div 参加我自己的课程 div class clearfix error div
  • 将 Rails 5.2 升级到 6.0 时出现参数错误数量错误

    我正在尝试将旧站点从 Rails5 2 升级到 6 0 然后再升级到 6 1 推荐的路径 我收到了有关参数数量错误的各种错误 其中一些错误我已通过更新或删除各种 gem 设法清除 最后我被困在了这一点上 rbenv versions 3 0
  • 读取大文件并制作字典

    我有一个大文件 我需要读取它并从中制作字典 我希望这一切能够尽可能快 然而我的Python代码太慢了 这是一个显示问题的最小示例 首先制作一些假数据 paste lt seq 20000000 lt seq 2 20000001 gt la
  • 确定相关词的编程方式?

    使用网络服务或软件库 我希望能够识别与词根相关的单词 例如 座位 和 安全带 共享词根 座位 但 西雅图 不会被视为匹配 简单的字符串比较对于这类事情似乎是不可行的 除了定义我自己的字典之外 是否有任何库或 Web 服务不仅可以返回单词定义
  • 使用 PostgreSQL 的模式和 Rails 创建多租户应用程序

    我已经想通的事情 我正在学习如何在 Rails 中创建多租户应用程序 该应用程序根据用于查看应用程序的域或子域来提供来自不同模式的数据 我已经回答了一些问题 如何让 subdomain fu 也能与域一起使用 这是有人问了同样的问题 htt
  • Heroku 码头部署

    我正在关注这篇文章https devcenter heroku com articles container registry and runtime https devcenter heroku com articles containe
  • 使用 WCF 和 .NET 4.0 在 C# 中实现 SOAP 客户端

    我在 NET 4 0 中开始使用 WCF 时遇到问题 这是我的情况 我用 PHP 创建了一个小型 SOAP 服务器 我有一个 C 项目 我想在其中连接到此服务器并启动 SOAP 通信 我的问题是 我不知道如何在 C 中执行此操作 我找不到
  • 列“users.id”必须出现在 GROUP BY 子句中或在聚合函数中使用

    关系 Item belongs to Product Product belongs to User 项目型号范围 scope search gt search term select products name users product
  • 在方法/数据成员中向 WCF 添加限制

    我是 WCF 新手 我尝试对数据成员添加限制 例如在这个方法中 DataMember public string StringValue get return stringValue set stringValue value 我想设置最大
  • Rails 4 与 MailCatcher 和 Devise gems

    我有一个带有 gem Devise 的应用程序 我需要通过电子邮件确认注册 在配置 环境 rb我添加了这个 ActionMailer Base delivery method smtp ActionMailer Base smtp sett
  • 公共领域还好吗?

    在你像我最初那样做出直觉反应之前 请阅读整个问题 我知道它们让你感觉很脏 我知道我们以前都被烧伤过 我知道这不是 好风格 但是公共场所可以吗 我正在开发一个相当大规模的工程应用程序 该应用程序创建并使用结构的内存模型 从高层建筑到桥梁再到棚
  • 带分页的 Rails 随机活动记录

    我需要查找特定资源的所有记录并以随机顺序显示它们 但具有一致的分页 如果开始分页 您将不会看到相同的记录两次 每次用户访问页面时 显示顺序都应该是随机的 我在用将分页 http wiki github com mislav will pag
  • 日期时间到 NSDate

    如何转换字符串2010 11 19T20 00 00Z进入一个NSDate object 我尝试过使用 dateFormatter setDateFormat yyyy MM ddTHH mm ssZ 但看起来我的自定义格式样式错误 PS
  • Rails 4 - 如何在开发中使用 sqlite3 以及在生产中使用 PostgreSQL 和 Heroku

    我正在尝试部署到 Heroku 但不能 因为默认的 sqlite3 服务器仍然存在 检测到 Heroku 不支持 sqlite3 gem https devcenter heroku com articles sqlite3 https d
  • 调整 Oracle 数据库以加快启动速度(闪回)

    我正在使用 Oracle 数据库 11 2 我有一个场景 我发出FLASHBACK DATABASE经常 似乎有一个FLASHBACK DATABASECycle 会重新启动数据库实例 大约需要 1 分钟 我的设置花了 7 秒 数据库很小
  • 为什么每个方法需要将其循环的值分配给变量?

    在 Rails 上工作 发现我对 Rails 的理解缺乏知识each method 不知道为什么each方法需要变量 message h2 h2 不确定为什么每个方法都需要变量 message 事实并非如此require它 你完全可以忽略它
  • 资产:预编译 - 权限被拒绝 - 仅在一台计算机上

    我的 dropbox 文件夹中有一个 Rails 应用程序项目文件夹 我在 2 台电脑上工作 家用电脑和笔记本电脑 均为 win 7 If I do bundle exec rake assets precompile在电脑上运行正常 我看
  • com.sun.xml.ws.message.saaj.SAAJHeader 无法转换为 com.sun.xml.ws.security.opt.impl.outgoing.SecurityHeader

    我正在尝试访问第三方 Web 服务 该服务要求我创建一个传递时间信息 用户名和密码的安全标头 我在网上搜索了可行的示例 并尝试了多种方法 我正在尝试使用 Java 6 中内置的内容来做到这一点 我不确定我做错了什么 从 WSDL 生成 We

随机推荐

  • 如何测试表达式是否是临时的?

    使用以下宏 define ASSERT IF TEMP expr static assert Is temporary 问号应该填什么 首先我们要澄清 暂时 是什么意思 当很多人说暂时的时候 他们的意思是不同的 从技术上来说 int 不是暂
  • 如何验证是否在被测系统(不是模拟)上调用方法

    我正在尝试编写一个单元测试 需要确认是否调用了某个方法 我正在使用 JUnit Mockito 和 PowerMock public class Invoice protected void createInvoice random stu
  • 抗锯齿算法?

    我正在创建纹理并希望对它们进行抗锯齿处理 我可以访问每个像素的颜色 鉴于此我如何对整个纹理进行抗锯齿 Thanks 抱歉 真正的抗锯齿并不在于从邻居那里获取平均颜色 如上所述 毫无疑问 这会柔化边缘 但它不是抗锯齿而是模糊 真正的抗锯齿无法
  • 在 SQL Server 中使用文本限定符批量插入

    我在尝试着bulk insert来自 CSV 文件的表测试中的几条记录 CREATE TABLE Level2 import wkt varchar max area VARCHAR 40 BULK INSERT level2 import
  • PhoneGap Facebook 插件

    我正在使用phonegap 2 4 和最新的facebook 插件做一个项目 https github com phonegap phonegap facebook plugin https github com phonegap phon
  • Windows 中相当于 ln -s <目标文件夹> <链接文件夹> unix 符号链接命令的是什么?

    我尝试按照以下教程为 Twilio 和 App Engine 库创建程序环境 https developers google com appengine articles twilio https developers google com
  • AED (Î.å ) 货币符号使用问题。它向左移动

    在我的应用程序中 我需要显示货币换算 For eg 1 0 015 同样 我想显示从 AED 到 USD 的转换 当我尝试时 转换方程变得扭曲 1 0 99 符号 采用从右到左的脚本 阿拉伯语 其中每个字符都是强从右到左的 而数字和 符号是
  • 通用包装器的行为方式与包装类型相同

    include
  • 具有自动调整大小的自动填充行的 CSS 网格

    我想创建一个项目网格 在每行上放置尽可能多的项目 它应该 自动调整列大小以适合其元素 自动添加 删除列以适合容器 实际上 我正在寻找一个具有自动调整列大小和自动调整列大小的表number列 弹性盒与flex wrap对我不起作用 因为列不会
  • jQuery 在 Tab 键按下后设置焦点

    我试图在按 TAB 键后将焦点设置到特定文本框 页面上只有一个文本框 看起来很简单 status keydown function e if e which 9 statuses html this value this value sta
  • ImportError:无法导入名称标准化

    我尝试使用 django i18n 因此必须安装 gettext 现在 每当我尝试启动我的应用程序时 我都会遇到这个尴尬的错误 Traceback most recent call last File var www mydjangopro
  • 在 Watir 中查找具有特定类的 div 列表

    页面上有 n 个具有相同类名的 div div class errors div div class errors Foo is invalid div 我们想要做的是检查并查看是否有任何带有 error 类的 div 具有消息 Foo i
  • 当大于页面宽度时将父级 div 扩展到子级尺寸

    父 div 必须完全包含子 div 的内容 由于一种奇怪的情况 该子 div 可能比页面视图本身更宽 问题是 父 div 似乎总是受到页面宽度的限制 无论它包含什么 http jsfiddle net e5Lkq 1 http jsfidd
  • 当 Android 中的 Firebase 数据库中的数据发生更改时,将数据发送到应用程序 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在构建一个应用程序 当 Firebase 实时数据库中的数据发生更改时 我希望为用户生成推送通知 我想知道使用 Firebase
  • SwiftUI 卡翻转有两个视图

    我正在尝试在两个 SwiftUI 视图之间创建卡片翻转效果 单击原始视图时 它会像翻转卡片一样在 Y 轴上 3D 旋转 并且第二个视图应在 90 度后开始可见 Using rotation3DEffect 我可以轻松旋转视图 问题是anim
  • 软件包升级后,Pip 在 Ubuntu 14.4 上损坏

    我试图在 EC2 ubuntu 14 4 实例上升级 python requests 包 执行此操作后 我运行并没有抛出错误 pip freeze and got ubuntu ip 172 31 28 196 pip freeze Tra
  • 将 ExecutorService 与多线程版本的合并排序结合使用

    我正在解决一个家庭作业问题 我必须创建一个多线程版本的合并排序 我能够实现它 但我无法停止线程的创建 我研究过使用 ExecutorService 来限制线程的创建 但我不知道如何在当前代码中实现它 这是我当前的多线程合并排序 我们需要实施
  • 将 SQL Server 2000 安全地暴露在 Internet 上

    我有一个 SQL Server 2000 机器 我想将其放在 Internet 上 以便开发人员无需 VPN 访问即可进行远程连接 最安全的方法是什么 这可能是暂时的 例如每隔一段时间 但这绝对是必要的 Thanks Rob 简短的回答 不
  • 将长字符串分割成多个字符串SQL

    所以基本上我希望将一根长绳子切成小块 但保持单词完整 因此 如果我在 JumpColumn 列中的 FoxTable 中有以下句子 棕色狐狸跳过了懒狗 然后懒狗跳过了棕色狐狸 我想在 SQL 中将其拆分为最多 20 个字符 包括空格 所以结
  • 生成网页的合理时间是多少?

    我正在开发网络应用程序 基于 Rails 3 我真的不喜欢生成页面所需的时间 根据显示的数据 它需要长达 2 5 秒甚至 4 秒 所以我只是想知道在应用程序中生成页面的平均合理时间是多少 假设您检查生成时间 例如这是 750 毫秒 然后想