mod_pagespeed magento

2024-04-02

有人在 magento 商店中使用过 mod_pagespeed 吗?

它会破坏任何东西吗(比如自定义优化等?)

很有兴趣使用它,但苦于资源的运气......


你的帖子让我感兴趣,所以我玩了 mod_pagespeed,我没有做任何详细的测试或测量。我的总体印象是冷漠,好处可以忽略不计甚至无法察觉。 Magento 的最大障碍始终是并且仍然是它的大量 PHP 类需要很长时间才能加载和实例化。 Magento 并没有真正犯下像内联 CSS 这样的不良做法,所以这个 mod 没有什么空间可以做。抛开这些警告不谈,这是我的经验。

首先,Google 已经很好地打包了 mod_pagespeed,他们提供了源代码和二进制文件,但二进制文件安装程序会注册存储库,因此它会保持更新。我希望更多的制作人理所当然地这样做。最合理的设置是默认设置,因此无需任何调整即可立即运行。

Filters

配置被分为一个适度的列表filters http://code.google.com/speed/page-speed/docs/filters.html您应该仔细阅读以了解究竟进行了哪些改进。我只选择启用两个 - “remove_comments”和“collapse_whitespace” - 这在 HTML 大小方面产生了显着差异,并且没有破坏任何内容。

extend_cache- 默认情况下打开。我喜欢它的概念,并认为这是维护文件版本的绝佳方法。有用。

outline_css & outline_javascript- 默认情况下打开。不太相关。无害。

combine_css & rewrite_css- 本质上与 Magento 的内置功能相同,也有几个扩展,包括始终受欢迎的福曼·斯皮斯特 http://www.magentocommerce.com/extension/457/fooman-speedster。您可能认为这使它变得多余,但我喜欢它,因为它将 PHP 执行卸载到本机代码,由于块缓存,差异可能很小,但对我来说已经足够了。有用。

inline_css & inline_javascript- 补充outline_css & outline_javascript并默认开启。确实增加了我没有预料到的页面大小。据说是为了减少请求数量,但是如果合并 css/js 文件怎么办?我希望这只是从可缓存源中删除内容。不想要的。

collapse_whitespace & remove_comments- 默认关闭,但值得打开。即使在压缩之后,传输的字节也会产生可测量的差异。有用。

combine_heads- 修复了在这种情况下可能永远不会出现的问题。无害。

elide_atttributes- 我没有发现任何问题,但只有时间会证明一切,目前我假设它是无害的。有用。

rewrite_javascript- 这基本上是“jsmin”,谷歌自己的评论警告它有风险。由于 Magento 附带的 js minifier 还处于测试阶段,并且过去曾给我带来过问题,所以我考虑了这个明智的建议,并没有理睬它。不想要的。

rewrite_images- 我会长话短说。有用。

insert_img_dimensions- 其他的东西 Magento 并没有真正的问题,所以并不需要修复。但它是无害的,并且可能有助于页面呈现得更流畅。有用。

ModPagespeedImgInlineMaxBytes- 将小图像转换为 data:uri 内容。我不相信这一点,因为有一个棘手的 UA 版本检查,并且您无法确定超出您控制范围的代理不会服务于错误的浏览器。谷歌似乎认为这是“低到中等”的风险,但我不会给它这样的机会。不想要的。

remove_quotes- 破坏 w3c 验证以获得几个字节。理论上它应该是无害的,但我不相信它。不想要的。

move_css_to_head & add_head- 可能会扰乱一些 javascript,但 Magento 比这更强大,而且 Magento 通常不会犯像这样需要纠正的小学生错误。无害。

结论

各种重写、重新排序和修复都会阻碍开发。浏览器报告的行号不一定与源代码中的行号相同。因此,除了生产服务器之外,我永远不会将它用于任何其他用途。

对于像 Magento 这样的 PHP 驱动的应用程序来说,好处实在是太小了。我们中有多少人会管理每天有数百万访问者的服务器以节省成本?我知道通过老式编程我可以节省更多。块缓存和整页缓存的效果最好。

尽管如此,任何改进都是受欢迎的,这就是为什么我将来会考虑它。托管在同一服务器上的任何其他站点都将以自己的方式受益。
确切的配置将根据具体情况进行判断,但通常我认为我会执行以下操作:

  • 在 mods-available/pagespeed.conf 中:

    ModPagespeedDisableFilters inline_css、inline_javascript、rewrite_javascript、remove_quotes ModPagespeedEnableFilterscollapse_whitespace,remove_comments

  • 安装 Fooman Speedster 以正确组合 javascript。

  • 警告客户/账单付款人该模组的测试性质。

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

mod_pagespeed magento 的相关文章

随机推荐

  • Scala 中的无符号变量

    我正在将一些 C 代码转换为 Scala 因为我们正在 据称 进入企业大厦的现代世界 至少我是被告知的 某些 C 代码使用无符号变量 这些变量对其执行了大量位级 移位 操作 我对如何将它们转换为 Scala 完全处于停滞状态 因为我相信 S
  • PrimeFaces。渲染后更新数据表

    我有一个数据表并想要保留过滤器 我可以保存过滤器值并通过调用数据表将它们放回 我将过滤器值放回到渲染中 现在我想要过滤表 是的 我想调用服务并从中获取所有数据 然后我想使用保留在过滤字段中的值来过滤表 我找不到在渲染表格后启动过滤的解决方案
  • 线程可以处理很长的 I/O 进程吗

    我在这里开始一个新主题 该主题将与这个问题 https stackoverflow com questions 47250025 qthreadpool how to interrupt how to use wisely the wait
  • 将 Psyco 移植到 64 位可能存在哪些陷阱?

    心理医生说 仅供参考 Psyco 不 可以在任何 64 位系统上工作 这个事实值得再次注意 现在最新的 Mac OS X 10 6 雪豹 自带默认 64 位上的 64 位 Python 机器 使用 Psyco 的唯一方法 OS X 10 6
  • 在 CSS 中将文本垂直和水平居中在圆圈中(如 iphone 通知徽章)

    我正在寻找一种在 CSS3 中制作类似 iphone 的跨浏览器徽章的方法 我显然想使用一个 div 来实现这一点 但其他解决方案也可以 重要的因素是它需要在所有浏览器中水平和垂直居中 关于这些通知的一个有趣的设计问题是它们不能具有指定的宽
  • 如何解析/proc/pid/cmdline

    我试图在 Linux 上拆分进程的命令行 但似乎我不能依赖它用 0 字符分隔 你知道为什么有时 0 字符用作分隔符而有时它是常规空格吗 您知道检索可执行文件名称及其路径的其他方法吗 我一直在尝试使用 ps 获取此信息 但它总是返回完整的命令
  • C++11 嵌套宏调用?

    它在 C std 16 3 4 中说 生成的预处理标记序列 来自宏调用替换 与源文件的所有后续预处理标记一起重新扫描 以获取更多宏名称 代替 如果在替换列表扫描期间找到了被替换的宏的名称 不包括 源文件的其余预处理标记 它不会被替换 此外
  • Lua 中的“主”函数?

    在 python 中 通常会定义一个 main 函数 以便允许脚本用作模块 如果需要 def main print Hello world return 0 if name main sys exit main 在Lua中 这个习语if n
  • 用于改造响应代码处理的自定义 rx Func1

    我是 rxjava 的新手 所以请不要严格 我请求虱子下一个 Observable
  • 当我使用大量数据发出大量请求后,Volley 出现内存不足异常

    我有一个页面查看器 在每个页面内都有列表视图 该列表视图将使用 Web 服务有 10 条记录 因此页面查看器使用 Web 服务的三个调用来填充三个页面 当前页面 左侧页面和右侧页面 页 但在我进行了多次滑动后 我得到了这个异常 java l
  • PostgreSQL ORDER BY 问题 - 自然排序

    我有一个 PostgresORDER BY下表的问题 em code name EM001 AAA EM999 BBB EM1000 CCC 要将新记录插入表中 我选择最后一条记录SELECT FROM employees ORDER BY
  • mongo 数据库中的可尾游标超时

    我正在尝试用 ruby 创建一个 oplog 观察器 到目前为止 我想出了下面的一个小脚本 require rubygems require mongo db Mongo Connection new localhost 5151 db l
  • glsl 双精度顶点缓冲区

    如果我创建一个双精度顶点缓冲区 例如 GLuint vertBuffer spanBuffer spanCount patchSize program already setup glUseProgram program glEnableC
  • 无法使用“adb shell settings put”设置 location_providers_allowed 的值

    我正在尝试使用以下命令打开位置 adb shell settings put secure location providers allowed gps wifi network adb reboot 但它既不改变变量的值允许的位置提供者重
  • Antlr3:无法匹配词法分析器规则中使用的解析器规则中的标记

    我在 Antlr3 中的词法分析器规则为 HYPHEN TOKEN HYPHEN CHARS CHARS a z 解析器规则如下 exp CHARS some complex expression parser rule exp HYPHE
  • 使用梯形图程序将 TCP/IP 消息从 PLC 发送到 PC

    考虑以下梯形图程序 该程序检查连接是否已启用 A202 00 然后从 PLC 向 PC 发送消息 文档 Omron CX Programmer 严重缺乏对程序约定的解释 我不明白的是 从一个节点向另一个节点发送消息 我应该需要指定接收者 I
  • 限制“鼠标滚轮”增量每次滚动触发一次

    我使用下面的代码 向不同方向滚动两个 div 但我很好奇是否可以限制滚动 以便每次滚动只触发一次 而不是不断滚动并将我的函数发送到无限循环 page left page right bind mousewheel function even
  • Eclipse 插件:java.lang.NoClassDefFoundError

    如你看到的 I added jni4net j 0 8 6 0 jar到我参考的图书馆 但我仍然收到java lang NoClassDefFoundError例外 java lang NoClassDefFoundError net sf
  • PhoneStateListener onSignalStrengthsChanged 停止在 Service 中调用

    我正在编写包含两个元素的简单应用程序 服务和活动 活动仅用于启动和停止服务 服务用途PhoneStateListener获取有关当前 CellID LAC 和 RSSI 信号强度 的信息并将其记录到文件中 当手机未休眠时一切正常 我注意到
  • mod_pagespeed magento

    有人在 magento 商店中使用过 mod pagespeed 吗 它会破坏任何东西吗 比如自定义优化等 很有兴趣使用它 但苦于资源的运气 你的帖子让我感兴趣 所以我玩了 mod pagespeed 我没有做任何详细的测试或测量 我的总体