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

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(使用前将#替换为@)

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

  • 通过使用 Minitest 的 Rails,如何设置 RuboCop 在每次使用 rake 运行测试时自动运行?

    当我运行以下命令时 我想要RuboCop https github com bbatsov rubocop在测试运行之前检查我指定的应用程序目录 bundle exec rake test 我添加了以下任务lib tasks test ra
  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • 获取对 SOAP 的 XML 响应中的节点值

    我在 PowerShell 中发出 SOAP 请求 如下所示 uri https secure echosign com services EchoSignDocumentService20 WSDL sun Invoke WebReque
  • Memcachier 达到缓存限制时 Heroku 请求超时

    我使用 Memcachier Dalli 作为客户端 将 Rails 应用程序部署到 Heroku 我正在使用免费插件 提供 25 MB 缓存 我们开始收到来自heroku的请求超时 经过调试 我们发现手动刷新Memcachier解决了问题
  • WSDL2Java 抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java

    我正在尝试从远程 Web 服务创建 java 文件 我下载了axis 1 4 将lib文件夹复制到c data axis lib其中包含这些文件 axis jar 轴 ant jar commons discovery 0 2 jar co
  • 磁盘寻道时间测量方法

    我编写了一个脚本来测量 HDD 上的寻道时间 并且其完成方式的微小变化会导致显着不同的时间 第一个周期在磁盘开头的区域内进行跳转 第二个周期选择磁盘上执行查找的随机区域 相同大小 这种方法显然不同 但我不明白为什么它会改变结果 请注意 对于
  • 数据库分片和 Rails

    在 Rails 中处理分片数据库的最佳方法是什么 分片应该在应用层 活动记录层 数据库驱动层 代理层还是其他层处理 各自的优点和缺点是什么 FiveRuns 有一个名为的 gem数据结构 https github com bpot data
  • 带有附加参数的redirect_to

    我是一个菜鸟 redirect to users url notice Succeed p p 然后我添加一个message它失败了 redirect to users url notice Succeed message test p p
  • Ruby on Rails 3 - 为每个请求重新加载 lib 目录

    我正在为 Rails 3 应用程序创建一个新引擎 正如您所猜测的 该引擎位于我的应用程序的 lib 目录中 但是 我在开发它时遇到了一些问题 事实上 每次更改引擎中的某些内容时 我都需要重新启动服务器 有办法避免这种情况吗 我可以强制rai
  • save_and_open_page 已停止提供我的 CSS

    我的测试设置工作得很好 每当我打电话时 都能提供正确格式的 css 页面save and open page从测试中 然后 我设置了一些 javascript 测试 并对我的设置进行了一些更改 抱歉 我无法详细说明所有内容 我没有足够详细地
  • 如何从rails控制台将数据添加到数据库

    我有一个User model gt gt u User new gt
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • 如何在 HAML 中为 Devise 生成视图

    这是我的 Gemfile gem haml group development do gem hpricot gem ruby parser end 然后我在终端 命令窗口中执行以下语句 bundle install rails gener
  • 在 CircleCI 中设置 Elasticsearch 和 Ruby on Rails

    我正在尝试在 Rails 应用程序中使用 Elasticsearch 设置 CircleCI 我想已经配置了镜像 但是如何在 CI 中连接到它 到目前为止我已经尝试过 https github com elastic elasticsear
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • 自定义通用 Rails 错误消息

    我们的 Rails 应用程序被设计为链接到多个客户端数据库的单个代码库 根据子域 应用程序确定要连接到哪个数据库 我们使用液体模板为每个客户定制演示文稿 我们无法为每个客户定制通用的 我们很抱歉 出了点问题 消息 谁能推荐一种方法让我们能够
  • ActiveRecord:向包含的 ON 子句添加条件

    我有一个模型报价和另一个历史报价 一个报价有很多历史报价 现在 我想立即加载一组报价的某一天的历史报价 如果存在 为此 我认为我需要将这一天传递给 ON 子句 而不是 WHERE 子句 以便我获得所有报价 即使在给定日期没有历史报价时也是如
  • 通过 ESI:include 设置 Cookie,如何?

    我正在尝试使用 esi 在我的网站上创建忍者缓存 这个想法是 该网站大部分是静态的 我只需要在用户是否登录时做一些花哨的事情 所以我试图在页面A上放置一个 并在页面B的应用程序中设置触发器 这样我就可以将页面 A 缓存在 varnish 上
  • Rails 4 的 mobile_fu

    我正在尝试将我的应用程序从 Rails 3 2 13 切换到 Rails 4 在此过程中 我遇到了一个主要障碍 我使用 gem mobile fu 来确定用户是否来自移动设备 该 gem 需要 Railties 3 2 13 但 Rails
  • 为什么 Rails 中的区域设置充当全局(使用 Thin 时)?

    我刚刚意识到在控制器中设置区域设置的推荐 Rails 方法 before filter set locale def set locale I18n locale params locale I18n default locale end

随机推荐

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

    使用以下宏 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 毫秒 然后想