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

穆克什

当我在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 条评论
登录 后参与评论

相关文章

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

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

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

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

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

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

缩短Nginx服务器响应时间

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

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

如何测量来自运行 CGI 脚本的服务器的 POST 回复的响应时间

如何测量Python请求POST请求的服务器响应时间?

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

Application Insights不显示服务器响应时间,服务器请求或失败请求的数据

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

PHP max_input_vars延迟服务器响应时间

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

将Angular 6应用程序发布到服务器后,响应时间过长

Unity 错误:X 服务器响应时间超过 2002 毫秒

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

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

是否可以使用Fiddler找出服务器响应时间和客户端渲染时间?

为什么通过验证日志将Jmeter响应时间与服务器时间相比较时不准确

如何在从服务器接收响应时动态创建标签?

当服务器以角度发送响应时不要进入订阅?

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

服务器日志和chrome开发人员工具中的响应时间之间的差异

当我们在oodo服务器或openerp中有多个请求时,响应时间被延迟了?

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

在lambda函数中发送JSON响应时出现无服务器脱机响应问题