1、减少使用魔法函数
2、尽量少的使用错误避免提示符@ vld扩展查看opcode,可以发现@会在opcode中增加内容
BEGIN-SILINECE END-SILINECE
3、合理控制内存
3.1 用unset释放
3.2 unset注销变量有注销不掉的情况,gc回收机制,可以细看
4、避免在循环内做计算
5、减少使用文件操作
内存 << 数据库(数据库会缓存部分数据所以优于硬盘) < 硬盘 < 网络
6、减少密集计算型功能(PHP不适合此类场景)
7、高频使用方法可以编写成PHP扩展,进而提高性能
8、缓存热数据,复用,提高性能
9、重叠时间窗口,即将串行改为并行
前提是串行内容之间前后无强依赖关系
并行请求的两种方法:curl_multi_* (按照其中请求时间最长的请求响应全部请求)
swoole扩展(个人开发的并发扩展)
10、压缩的利弊
gzip(服务器配置)
利:降低传输内容大小,提高响应时间
弊:额外的CPU消耗,服务端压缩,客户端解压
11、性能监控及压测工具:Xhprof(facebook使用的性能监控插件) 、ab 、vld扩展(查看opcode内容)