写点什么

百度技术沙龙第 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:364330
用户头像

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

关注

评论

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

华为云应用运维管理平台获评中国信通院可观测性评估先进级

YG科技

应用在虚机和容器场景下如何优雅上下线

YG科技

Python潮流周刊#9:如何在本地部署开源大语言模型?

Python猫

Python

Nautilus Chain 推出全新 Layer3 DID 公民身份,限量 10 万枚免费发放

股市老人

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

BlockChain先知

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

西柚子

高效联调,可靠发布!华为云推出CodeArts Release发布管理服务

YG科技

Nautilus Chain 推出全新 Layer3 DID 公民身份,限量 10 万枚免费发放

BlockChain先知

免费搭建一个有脾气的聊天机器人,1行Python代码就够了!

程序员晚枫

Python 微信 机器人

【分布式技术专题】「分布式技术架构」实践见真知,手把手教你如何实现一个属于自己的RPC框架(架构技术引导篇)

码界西柚

RPC 架构分析 分布式服务

【深入了解系统性能优化】「实战技术专题」全方面带你透彻探索服务优化技术方案(系统服务调优)

码界西柚

JVM Java虚拟机 技术推荐 技术调优 开发实战

我在AIGC和数字中台方面的架构升级设计

大东(AIP内容运营专员)

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

鳄鱼视界

豫园股份基于低代码敏捷式开发的实践与落地

明道云

py基础知识点归纳总结

全栈若城

Python 学习 基础

华为云新一代iPaaS全域融合集成平台全新升级!

YG科技

PixelForce - AI绘画释放产品魅力

原力在线

Nautilus Chain 推出全新 Layer3 DID 公民身份,限量 10 万枚免费发放

鳄鱼视界

趣解领域驱动设计-从地心说到日心说

凡语

领域驱动设计

华为云Serverless核心技术与最佳实践

平平无奇爱好科技

2023-07-01:redis过期策略都有哪些?LRU 算法知道吗?

福大大架构师每日一题

redis 福大大架构师每日一题

C++中fork函数的使用及原理

芯动大师

PoseiSwap 将向 Zepoch 节点持有者发放新一轮空投,生态启动在即

股市老人

Go 语言 context 都能做什么?

AlwaysBeta

Go Context go面试题

Java程序性能分析:开篇之jps

javalover123

Java 性能优化 性能 后端

专科学历,有机会转行程序员吗?

程序员晚枫

程序员 面试 转行 学习计划

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