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:364508
用户头像

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

关注

评论

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

jackson学习之二:jackson-core

爱好编程进阶

Java 程序员 后端开发

无聊科技正经事周刊(第5期):五一长假与虚拟旅行

潘大壮

程序员 周刊 科技 行业趋势 科技周刊

网站开发进阶 (十一) 知识汇总

No Silver Bullet

二维码 标签 5月月更 打印 元素隐藏

WebAssembly技术_编译ffmpeg(ubuntu20.04)

DS小龙哥

5月月更

励志!一年时间,从小白到进入阿里核心部门,“他”的逆袭之路

Java架构追梦

Java 后端开发 程序员面试

撸了一个Spring Boot + VUE 框架开发的分布式网盘系统「源码开源」

Java架构追梦

spring java面试 后端开发

网站开发进阶(十)页面嵌套

No Silver Bullet

jsp iframe 5月月更 页面嵌套 include

虎符交易所Hoo研究院|音乐NFT的路径在哪

区块链前沿News

NFT 虎符 Hoo 虎符交易所

拿了阿里、腾讯的offer的大佬给想进互联网大厂的程序员一个忠告

Java架构追梦

Java 阿里 程序员面试

吃透这份Github点赞120k的Spring全家桶笔记Offer拿到手软

Java架构追梦

Java 程序员 后端开发

Harbor v2.5远程复制:制品的签名如影随形

亨利笔记

Hive-0

爱好编程进阶

Java 程序员 后端开发

hive学习笔记之四:分区表

爱好编程进阶

Java 程序员 后端开发

java List、Object、String

爱好编程进阶

Java 程序员 后端开发

电阻电路的等效变换 (Ⅲ)

謓泽

5月月更

DevOps系列之 —— DevOps概览(三)DevCloud HE2E DevOps 框架及其主要服务

若尘

DevOps 5月月更

Android音视频——相关概念

程思扬

音视频 音视频开发

不可谓不“细”!阿里内部价值百万“微服务架构精髓”限时开源

Java架构追梦

Java 微服务 后端开发

Java 1027 打印沙漏

爱好编程进阶

Java 程序员 后端开发

手写一个持久化的Flutter会话管理器

岛上码农

flutter ios 安卓开发 跨平台开发 5月月更

Git进阶系列 | 7. Git中的Cherry-pick提交

俞凡

git

DDD洋葱架构才是 yyds!阿里大牛手记(DDD)领域驱动设计应对之道

Java架构追梦

Java 架构师

都说区块链可信,到底信了个啥?

亨利笔记

区块链

Java 1045 快速排序

爱好编程进阶

Java 程序员 后端开发

架构实战营模块三作业

哈啰–J

HTTP 协议入门详解

爱好编程进阶

Java 程序员 后端开发

Git进阶系列 | 8. 用Reflog恢复丢失的提交

俞凡

git 最佳实践

26岁到来之际,我在阿里实现了年薪40W+的小目标

Java架构追梦

Java 后端开发 程序员面试

Redis+Nginx+设计模式+Spring全家桶+Dubbo阿里P8技术精选文档

Java架构追梦

Java 阿里 后端开发

Android音视频——基础介绍

程思扬

音视频

架构、框架侃侃而谈算法望而却步?吃透这份笔记轻松掌握算法技能

Java架构追梦

Java 架构

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