2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

百度技术沙龙第 24 期回顾:PHP 性能优化实践(含资料下载)

  • 2012-03-17
  • 本文字数:1953 字

    阅读完需:约 6 分钟

在 3 月 10 日由 @百度主办、@InfoQ 策划组织和实施的第24 期百度技术沙龙活动上,来自百度PHP 高级顾问,PHP 语言开发组成员惠新宸( @laruence )、腾讯网媒产品技术部高级工程师付超群( @付超群)分别分享了各自在 PHP 性能优化上取得的成果及经验,话题涉及“PHP5.4 新特性与性能优化”,以及“高性能 LAMP 程序设计”等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。

主题一:PHP 性能优化实践微盘下载讲稿观看视频

来自百度 PHP 高级顾问,PHP 语言开发组成员惠新宸第一个为大家分享,演讲内容主要包括 PHP 5.X 版本性能对比,PHP 5.4 新特性以及常用的优化技巧等。惠新宸首先分分享了 PHP5.4 所带来的主要新特性:

  • Traits
  • Built-in web server
  • Array de-referencing
  • Class member access on instantiation
  • Shortened array syntax
  • Binary number format

本次活动主要分享到 5.3 到 5.4 版本的优化策略。惠新宸提到了 Runtime Binding Cache 策略,这样做的好处就是:

  • 减少符号查找次数
  • 基于 Literal Table
  • 一次查找,就 Cache 起来
  • 多态带来了意外

此外,亦可通过 Internal String 策略具有以下特点:

  • 编译期已知的字符串
  • 对于多个 Constant String,只保存一份
  • 使用比较 Char*pointer 相等来代替 strcmp
  • 避免了 estrdup 和 efree
  • 预先计算 Hash Value

最后,惠新宸还提到了 Property Directly Access,Zend Signal,Request Startup/Shutdown,Ternary 及 FastCGI SAPI Optimization 等策略。

主题二:高性能 LAMP 程序设计微盘下载讲稿观看视频

腾讯网媒产品技术部高级工程师付超群第二个为大家分享,主要内容分为 PHP 篇、WebServer 篇、数据库篇、常用组建篇、架构篇及前端篇等几部分。付超群首先讲解了在使用 Apache 和 Ngix 时的一些技巧与经验,如只加载用到的模块、mpm 的选择以及 CPU 亲和性等,他提到在使用 MySQL 时,通过以下策略可对性能有所提升:

  • 动静分离
  • 分库分表
  • 良好的索引 &Explain
  • 主从同步,通过从库来扩展读
  • 尽量 Cache,减少 SQL 操作
  • 批量操作 & 队列

此外,付超群还强调讹传比性能更可怕,比如:left join 都很慢、like 用不到索引、char 一定比 varchar 好等。在常用组件部分,付超群介绍了消息队列的用处,比如可以异步处理耗时操作(发邮件、发微薄等),这些均可通过 Memcacheq beanstalkd RabbitMQ 等开源项目实现。在涉及全文检索类操作时,可以使用 scws 处理中文分词,使用 coreseek 进行集成等。在介绍架构对性能产生的影响时,付超群建议要遵循以下原则:

  • 先抗住,再优化
  • 过度设计比不设计更龌龊
  • 越简单越好
  • 如非必要,不要引入
  • 层次清晰
  • 良好的监控预警

接下来付超群向大家分享了自选股产品和接口平台的构建经验以及使用情况。分享的最后,付超群还提及了在前端上的一些优化技巧:

  • CSS Sprite
  • 对图片和头像等采用 Lazy Loading
  • 合并请求
  • 避免重定向
  • Gzip
  • 采用 CDN
  • 静态文件使用无 cookie 域名
  • CSS 放顶部,JS 放底部(通常情况下)

前端在 PHP 性能优化中如此重要,怪不得连 PHP 之父 Rasmus Lerdorf 都会认为:

PHP is rarely the bottleneck, 80-90% front-end。

Open Space(开放式讨论环节)

和以往的环节一样,​为了让参会者能够有更多的时间进行相互的交流,本次活动依然设置了 Open ​Space(开放式讨论)环节。本次还邀请到了国内问答网站 SegmentFault 到场分享, SegmentFault 技术负责人祁宁和大家分享了作为国内针对程序员问答社区所遇到的技术问题和经验。

会后,一些参会者也通过新浪微博分享了他们的参会感受:​​

@xy26 :懒加载是一种不错的 Web 呈现方式。

@懒桃儿吃桃儿:跨 IDC 专线进行数据同步,基础设施拼财力呀。

@陈五十:性能优化无止境,作为一个后端工程师,付超群的建议都很需要注意。

@SweetyDong :超群讲的对工作比较有帮助。

@吴佰清:最后总结,5.4 相对 5.3 带来了多大提升,主要针对 OO 来做提升,最高提升 48%。不建议升级 5.4,APC 会出现兼容性问题。

@许浩 -sean :PHP 5.4 新特性与性能优化,@Laruence 视野很开阔,收获不小。

@我爱儿童团 - 杨京:这个测试比较干货,要看看,测一下,一时半会还是不要升级,要稳定,不要着急尝鲜。

@大皮:内核级别的优化,有点深,这就是差距,好好学习吧。

@一个飞翔的鱼:PHP 5.4 的性能真是越来越好了,今天真是了解了不少内部的细节。

有关百度技术沙龙的更多信息,可以通过新浪微博关注 ** @百度技术沙龙,或者加入百度技术沙龙微群 **,InfoQ 上也总结了过往 23 期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览阅读

号外: 2012 百度开发者大会将于 3 月 23 日在北京国际会议中心举行。众多技术专家将与您一同探讨“应用为王”的中国互联网趋势和开发者在开放格局下的新机遇;深度交流搜索引擎、云计算、移动互联网、Web Apps 等方向的技术创新。现在可以免费报名,或查看大会详细议程

2012-03-17 18:364513
用户头像

发布了 156 篇内容, 共 58.2 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

扒去Spring事件监听机制的外衣,竟然是观察者模式

Java spring 设计模式 观察者模式 事件监听

单点登录实现思路和方案

Java 单点登录

群星闪耀,众志成城 | 2023年4月《中国数据库行业分析报告》精彩抢先看

墨天轮

数据库 云原生 opengauss 国产数据库 AI4DB

Prompt 技巧指南-让 ChatGPT 回答准确十倍!

Zilliz

openai ChatGPT

Reactive响应式编程系列:解密reactor-netty如何实现响应式

大步流星

Reactive响应式编程系列 reactor-netty reactor-netty原理

无需nms,onnxruntime20行代码玩转RT-DETR

Openlab_cosmoplat

软件开发全文档获取(精华版)

金陵老街

深入理解 slab cache 内存分配全链路实现

bin的技术小屋

内存管理 Linux Kenel 内存池 slab

可观测性平台-数据洞察(2)-网站性能探究

Yestodorrow

前端 可观测性 网站性能

从集成工具到集成资产,企业数智化底座亟待升级

用友BIP

新手必看|StarRocks 入门教程来啦!

StarRocks

数据库 大数据 数据湖 OLAP 数仓

ShareSDK Facebook平台注册指南

MobTech袤博科技

传感器接线方式详解

鸿蒙之旅

OpenHarmony 三周年连更

Tuxera NTFS2024Mac专业NTFS驱动软件

茶色酒

Tuxera NTFS2023

企事业单位通用版招采系统(SRM),招采全过程闭环流程

金陵老街

TiDB 在 IPv6 的 K8S 和物理机环境的部署

TiDB 社区干货传送门

安装 & 部署 数据库架构选型 数据库前沿趋势

如何在Github参与开源项目的建设

骑牛上青山

GitHub 开源 PR

共享电单车的未来市场如何?值得做吗?

共享电单车厂家

共享电单车投放 本铯共享电动车 共享电动车生产厂家 共享电单车发展趋势

Spartacus cart id 存储在浏览器 local storage 里面

汪子熙

angular SAP Hybris Spartacus 三周年连更

EasyRecovery2024最新版电脑数据恢复软件

茶色酒

EasyRecovery Photo16

工赋开发者社区 | 装备制造企业数字化转型总体框架

工赋开发者社区

浏览器管理脚本用什么软件?

真大的脸盆

Mac Mac 软件 脚本管理 管理脚本 浏览器脚本插件

MySQL 分区

潜水员

MySQL 分区

电商广告营销中常见公式和优化手段

邴越

广告 营销 电商 信息流

FL Studio2024最新中文版本水果编曲工具

茶色酒

FL Studio21

如何维护好TiDB的三颗仙丹——索引、SQL和IO

TiDB 社区干货传送门

数据库架构设计

2023年厦门等保二级备案办理流程

行云管家

等级保护 等保备案 厦门

免费堡垒机选择开源还是商业免费版好?

行云管家

开源 堡垒机 安全运维 免费堡垒机

人工智能大模型这场游戏才刚刚开始吗?还是在走下坡路? | 社区征文

迷彩

AI大模型 大模型时代 三周年征文 三周年连更

软件测试/测试开发丨Pytest 测试框架学习笔记

测试人

软件测试 自动化测试 测试开发 pytest

基于Java的ES全文检索,Neo4J,activiti审批流的知识库管理系统

金陵老街

Java Vue ES

百度技术沙龙第24期回顾:PHP性能优化实践(含资料下载)_JavaScript_贾国清_InfoQ精选文章