登录  /  注册

php实现性能优化

王林
发布: 2020-01-11 17:51:18
转载
2193人浏览过

php实现性能优化

问题背景

在开发好页面后,如何让页面更快更好的运行,是区分一个程序猿技术水平和视野的一个重要指标。所以面试时,面试官总会问你一个问题,如何进行性能优化呢?

性能优化是什么?

从前端的角度来说,性能优化可以分为两个方向。从用户角度来看,一个是页面加载的很快,另一个是页面使用起来很流畅。因此,对性能优化的探索,我们可以分为页面加载时间跟页面运行效率两个方向来进行研究。

(免费学习视频教程分享:php视频教程

从浏览器打开到页面渲染完成,花费了多少时间

浏览器解析->查询缓存->dns查询->建立链接->服务器处理请求->服务器发送响应->客户端收到页面->解析HTML->构建渲染树->开始显示内容(白屏时间)->首屏内容加载完成(首屏时间)->用户可交互(DOMContentLoaded)->加载完成(load),如果我们要进行加载时间的优化,我们需要从这里的每一个步骤都去思考,去总结,而避免东凑一点,西凑一点。

页面加载时间监控

在对这些环节进行优化之前,我们需要知道监控这些环节花费了多少时间。

可以获取到很多页面加载相关的数据。比较常用的有

DNS解析时间: domainLookupEnd - domainLookupStart

TCP建立连接时间: connectEnd - connectStart

白屏时间: responseStart - navigationStartdom

渲染完成时间: domContentLoadedEventEnd - navigationStart

页面onload时间: loadEventEnd - navigationStart

如果不使用该API,可以以服务器渲染返回的时间,或是SPA路由跳转离开的时间为起点,domContentLoaded,load等事件为结束点进行记录。或是直接上google analytics。

服务器部分优化要点

后端部分可以对缓存,dns查询时间,链接时间,处理请求时间,响应时间等进行优化。

dns查询时间可以使用httpdns或是dns预加载,域名收敛等手段优化。

建立连接的重点是长连接和链接复用,keep-alive,long-polling,http-straming,websocket或是自己写过别的协议,更好的是直接上http2。为了优化链接的环节,前端这里还需要对资源使用cdn,雪碧图,代码合并等手段。

服务器处理请求这里可以优化的点也不少,值得注意的就是移动端访问PC端页面需要跳转到移动端页面时,要再服务器端使用302跳转,不要在前端进行跳转。还有就是启用hsts,要求浏览器在之后的访问使用https,减少无谓的http跳转https,同时还可以防止ssl剥离攻击,提升安全性。

服务器发送响应环节,可以使用Transfer-Encoding=chunked,多次返回响应,具体操作查询bigpipe。还有就是减小cookie的体积等等。

相关文章教程推荐:php教程

以上就是php实现性能优化的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:博客园网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号