当前位置:首页 > PHP教程 > 正文内容

php实现性能优化_php教程,php,性能优化

搜教程4年前 (2020-01-13)PHP教程149

PHP安装BCMath扩展_php教程

大多数编程语言对于浮点型数据格式遵循 IEEE 754 标准,这就会导致在使用浮点数运算的过程中会有精度丢失的问题。PHP提供了 BCMath 库来支持更加精确的计算。

问题背景

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

性能优化是什么?

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

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

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

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

页面加载时间监控

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

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

DNS解析时间: domainLookupEnd - domainLookupStart

基于AIML的PHP聊天机器人_php教程

本文章中讲介绍用PHP实现的一个小聊天机器人程序,用到了php操作dom相关的知识和mysql数据库,可以用来学习。代码可以从https://github.com/kompasim/chatbot下载。

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实现性能优化的详细内容,更多请关注ki4网其它相关文章!

php实现上传图片功能_php教程

实现上传图片功能的方法是:1、首先需要判断图片格式是否正确,大小是否小于2M;2、然后判断错误是否出现,有错误则输出错误;3、最后输出图片内容,判断是否存在此图片,若不存在,则执行操作保存图片至指定目录。

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/16927.html

标签: php性能优化
分享给朋友:

“php实现性能优化_php教程,php,性能优化” 的相关文章

ThinkPHP 5.1修正Cache 源码的要领引见(代码示例)【php教程】,thinkphp5,php

本篇文章给人人带来的内容是关于ThinkPHP 5.1修正Cache 源码的要领引见(代码示例),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。 近来在进修 THinkPHP 5.1,看了 Cache 要领的操纵,有一点迷惑。虽然封装了许多要领,运用的时刻很轻易,然则对 Redis...

php readdir函数怎样用【php教程】,readdir函数

php readdir函数怎样用【php教程】,readdir函数

php readdir()函数用于从目次句柄中读取条目,其语法是readdir(dir_handle),若胜利则返回条目称号(文件名),失利则返回 FALSE。 php readdir函数怎样用? php readdir()函数 语法 作用:返回目次中下一个文件的文件名。 语法:...

如安在Ubuntu 18.04和16.04上装置PHP(7.3,7.2和7.0)?【php教程】,Ubuntu,安装PHP7.3,PHP7.2,PHP7.0)

如安在Ubuntu 18.04和16.04上装置PHP(7.3,7.2和7.0)?【php教程】,Ubuntu,安装PHP7.3,PHP7.2,PHP7.0)

PHP 7.3是PHP最新的稳固版本,假如你想装置特定版本的PHP,那末本文将对你有所协助。本篇文章就将给人人引见怎样运用PPA在Ubuntu 18.04、16.04上装置PHP 7.3、7.2、7.1和PHP 7.0。(PPA全称Personal Package Archives即个人软件包文档)...

PHP+Oracle当地开辟环境搭建【php教程】,php,oracle,instant client

PHP+Oracle当地开辟环境搭建【php教程】,php,oracle,instant client

PHP平常环境为lamp或lnmp。因为近期,将会介入一个银行项目,运用Oracle数据库(数据库在远端服务器),所以本身须要从新搭建一个开辟环境,我底本的环境是基于vagrant的,所以只需在底本的环境中装置Oracle的instant client东西和PHP的oci8扩大。 装置in...

原型形式有什么用?【php教程】,原型模式

原型形式(Prototype) Prototype原型形式是一种建立型设想形式,Prototype形式许可一个对象再建立别的一个可定制的对象,基础无需晓得任何怎样建立的细节,事情道理是:经由过程将一个原型对象传给谁人要发起建立的对象,这个要发起建立的对象经由过程要求原型对象拷贝它们本身来实行建...

【php进修】array_map()函数--调用回调函数处置惩罚数组数据【php教程】,php,array_map(),回调函数

【php进修】array_map()函数--调用回调函数处置惩罚数组数据【php教程】,php,array_map(),回调函数

上篇文章里和人人分享了一个array_column()函数,本篇文章小编将带人人进修别的一个处置惩罚数组的函数--array_map()函数,能够高效调用回调函数处置惩罚数组的值,感兴趣的朋侪赶忙来进修一下吧。 array_map() 函数 作用: 将用户自定义函数作用到数组中的每一个...