如何减少服务器响应时间?

穆克什

当我在GTmetrix.com上检查我的网站时,会得到以下时间表的屏幕截图。

屏幕截图

如何减少接收时间,使网站加载速度更快。

这是由于未优化的PHP代码而发生的吗?

米海·斯坦库(Mihai Stancu)

问题和建议:

  • 问:62毫秒的接收时间可以吗?您如何减少1.5秒的等待时间?
  • S:等待时间是服务器组成页面所花费的时间。

--

  • 问:您是否启用了平面桌?
  • S:启用平面表并确保所有自定义的集合查询仍然正常工作(集合查询自动从基于EAV资源的查询转换为基于平面资源的查询)。

--

  • 问:是否启用了缓存(使用缓存服务器而不使用文件缓存)?
  • S:在中将Memcached或Redis或APC配置为您的缓存服务器local.xml

--

  • 问:您的Magento更像是带有主题的现成安装,还是主题和逻辑被大量定制了?
  • S:如果这是OOTB主题-主题是否支持适当的缓存?
  • S:如果是定制化程度很高的Magento,您是否考虑了必要的缓存支持代码?

背景信息:

漆:

Varnish是一个全页缓存,但是Magento由块组成-块独立失效-与不相关的块相比,重建整页的频率更高。

Varnish(默认情况下)处理静态内容(JS,CSS,图像等)。我不确定它是否也(默认情况下)检查html文件是否正在使用eTag(我认为是),因此您可以先将html页面配置为使用eTag标头并开始进行缓存(但要小心到期时间-如果是动态页面,访问者将看到旧信息,您必须决定在哪个页面上可以接受。

Memcached(或Redis或APC)并阻止缓存:

如果服务器上具有Memcached,则可以配置local.xml文件以开始将Memcached用于会话以及块缓存。但是,由于您的Magento进行了大量修改,因此您的Block类需要是可缓存的-它们需要重写getCacheKey方法并返回一个字符串,因此该字符串根据所呈现块的HTML内容需要有所不同。

例子:

  • 如果您有一个显示恒定HTML片段的块,则关键字可以是您可以“计算”的任何唯一字符串,而无需实际重建/重新呈现该块(例如,您在layout.xml中为该块指定的名称)。

  • 如果您有一个显示“ Hi {{username}}!”的代码块 那么密钥应基于用户名或user_id,例如$key = "user_welcome_".$user->getId();可以轻松地从会话中获取当前用户,因此您不必运行数据库查询即可获取该密钥

  • 如果您有一个依赖于多个参数的块,则在构建缓存键时需要考虑所有这些参数,并且需要考虑到以下事实:需要通过尽可能少的处理就可以访问参数信息-如果您只是为了计算缓存键而从数据库中获取信息,则可能是我做错了-例如,根据当前CMS的page_id,一个块的内容可能有所不同,但是您无需从DB知道,您只需处理URL或$_GET变量,然后使用该信息来构建缓存键。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何减少服务器响应时间?

来自分类Dev

如何衡量服务器的请求和响应时间?

来自分类Dev

如何使用PHP获取服务器响应时间

来自分类Dev

减少服务器响应时间-Debian 7上的apache2

来自分类Dev

浏览器中的服务器响应时间

来自分类Dev

在Java中查找服务器响应时间

来自分类Dev

缩短Nginx服务器响应时间

来自分类Dev

来自服务器的定时响应时间

来自分类Dev

服务器响应时间太长,优化Laravel项目?

来自分类Dev

Powershell:Windows服务器之间的响应时间

来自分类Dev

Azure AppInsights 未记录服务器响应时间

来自分类Dev

如果远程服务器位于很远的物理距离,如何提高响应时间

来自分类Dev

Swing:如何减少MouseInputAdapter的响应时间?

来自分类Dev

服务器响应时间太长(ASP.NET MVC),如何查找哪个操作消耗了这么长时间?

来自分类Dev

服务器响应时间太长(ASP.NET MVC),如何查找哪个操作消耗了这么长时间?

来自分类Dev

服务器缓慢发送响应时,http超时要多长时间?

来自分类Dev

使用xhr-polling时Socket.io巨大的服务器响应时间

来自分类Dev

PHP max_input_vars延迟服务器响应时间

来自分类Dev

在服务器端记录基于Azure / IIS的网站响应时间

来自分类Dev

CakePHP API 服务器响应时间和 FCM 推送通知

来自分类Dev

服务器在Grails中以302响应时如何获取响应正文?

来自分类Dev

如何减少Webpack开发服务器的重建时间

来自分类Dev

某些任务的响应时间正在减少

来自分类Dev

Jmeter:响应时间减少,吞吐量也减少

来自分类Dev

如何执行服务器对服务器对POST的响应

来自分类Dev

减少查询响应时间,需要优化查询

来自分类Dev

WCF-仅生产服务器-收到HTTP响应时发生错误

来自分类Dev

WSO2 ESB-尝试替换HTML服务器响应时发生错误

来自分类Dev

提供服务器缓存的响应时,IIS 7剥离Vary标头

Related 相关文章

  1. 1

    如何减少服务器响应时间?

  2. 2

    如何衡量服务器的请求和响应时间?

  3. 3

    如何使用PHP获取服务器响应时间

  4. 4

    减少服务器响应时间-Debian 7上的apache2

  5. 5

    浏览器中的服务器响应时间

  6. 6

    在Java中查找服务器响应时间

  7. 7

    缩短Nginx服务器响应时间

  8. 8

    来自服务器的定时响应时间

  9. 9

    服务器响应时间太长,优化Laravel项目?

  10. 10

    Powershell:Windows服务器之间的响应时间

  11. 11

    Azure AppInsights 未记录服务器响应时间

  12. 12

    如果远程服务器位于很远的物理距离,如何提高响应时间

  13. 13

    Swing:如何减少MouseInputAdapter的响应时间?

  14. 14

    服务器响应时间太长(ASP.NET MVC),如何查找哪个操作消耗了这么长时间?

  15. 15

    服务器响应时间太长(ASP.NET MVC),如何查找哪个操作消耗了这么长时间?

  16. 16

    服务器缓慢发送响应时,http超时要多长时间?

  17. 17

    使用xhr-polling时Socket.io巨大的服务器响应时间

  18. 18

    PHP max_input_vars延迟服务器响应时间

  19. 19

    在服务器端记录基于Azure / IIS的网站响应时间

  20. 20

    CakePHP API 服务器响应时间和 FCM 推送通知

  21. 21

    服务器在Grails中以302响应时如何获取响应正文?

  22. 22

    如何减少Webpack开发服务器的重建时间

  23. 23

    某些任务的响应时间正在减少

  24. 24

    Jmeter:响应时间减少,吞吐量也减少

  25. 25

    如何执行服务器对服务器对POST的响应

  26. 26

    减少查询响应时间,需要优化查询

  27. 27

    WCF-仅生产服务器-收到HTTP响应时发生错误

  28. 28

    WSO2 ESB-尝试替换HTML服务器响应时发生错误

  29. 29

    提供服务器缓存的响应时,IIS 7剥离Vary标头

热门标签

归档