PHP性能 - php_performance - by llia alshanetsky

php & performance》 by llia alshanetsky

该文档是五阿哥两个月前分享给我的。当时看了1/3就撂下了。现在准备把它看完。


百度文库: http://wenku.baidu.com/view/b4c9e20116fc700abb68fcf2.html

slideshare:http://www.slideshare.net/pangee/php-performance-22852213


自己的简单翻译如下:


p2

每个php脚本文件的引入,都会造成zend编译与执行环节。

编译耗时远大于执行的时间。


p3 opcode

每个脚本仅在修改后编译一次。

opcode会从内存中读取,要比每次从硬盘读取文件编译,快很多。

opcode可以执行得更快。


p5 Compiler

尽量使用编译器的高级特性。譬如-O3

将-march -mcpu配置为你的机器相应配置。

利用CPU特殊的属性。sse  mmx 

删除调试数据。 -fomit-frame-pointer


p6 webserver : File IO

让文件所属目录的路径尽可能的短。

如果没有使用.htaccess,请把AllowOverride设置为none。

使用Apache配置Options FollowSymLinks简化文件访问方式。

Log文件真的有必要记录嘛?该条Log有必要打嘛?尽可能精简他们。

如果LOG很有必要,那么在记录时,请在一个文件中记录。在日志分析阶段,再切分日志。


p7 系统调用

系统方法由内核行,使用这些方法可以最小开销。

不要开启 ExtendedStatus (server汇报更多状态的开关)

对于禁用、开放权限时候,使用IP,而不要用domain。

不要开启 HostnameLookups (DNS反查,根据IP查HOSTNAME,开销大)

常关 ServerSignature (服务端标记)

注: apache中文详解


p8 KeepAlive

按理说长链接可以让请求变的更快,但如果不合理使用长链接,服务器会崩溃。

Apache的长连接超时尽可能的设置短一些,建议值为10s

如果该服务器是为动态脚本语言服务,可以将长链接彻底关闭。


p9 Matching your IO size

尽可能的把任务交由内核完成。

优化PHP到系统通信(?)。

减少系统调用。


p10 输出控制

效率;

灵活;

请使用ob_start();

请开启 output_buffering;

提高浏览器的渲染速度。


p11 apache的输出控制

一个好办法是,不加锁的将整个页面交由内核(?);

请将 SendBufferSize 设置为页面相似的大小;


p12 系统的输出控制 (详解)

/proc/sys/net/ipv4/tcp_wmem

4096    16384   maxcontentsizemin      default      max

/proc/sys/net/ipv4/tcp_mem

(maxcontentsize * maxclients) / pagesize

✴低内存系统请甚用






待续...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值