PHP周边问题的性能优化
<h1>性能问题的具体分析工具</h1>
<ul>
<li>XHProf 源自fackbook的php性能分析工具</li>
<li>其他推荐工具
<ul>
<li>ab 压力测试</li>
<li>vld opcode代码分析</li>
</ul></li>
</ul>
<h4>查看php是否支持扩展命令</h4>
<ul>
<li>php --ri xhprof</li>
</ul>
<h4>使用xhprof大概步骤</h4>
<ul>
<li>xhprof_enable();</li>
<li>php代码</li>
<li>xhprof_disable();</li>
</ul>
<h2>php性能瓶颈解决方法</h2>
<ul>
<li>opcode cache使用的扩展
<ul>
<li>php扩展APC,2012以后不再进行维护</li>
</ul></li>
<li>runtime优化
<ul>
<li>HHVM</li>
</ul></li>
</ul>
<h2>PHP周边问题的性能优化方面</h2>
<ul>
<li>硬件
<ul>
<li>服务器硬盘、内存</li>
</ul></li>
<li>
<p>数据库</p>
</li>
<li>网络耗时</li>
</ul>
<h2>php场景的开销次序</h2>
<ul>
<li>读写内存 -> 读写数据库 -> 读写磁盘 -> 读写网络数据</li>
</ul>
<h2>网络请求的坑</h2>
<ul>
<li>对方接口的不确定因素</li>
<li>网络稳定性</li>
</ul>
<h2>如何优化网络请求</h2>
<ul>
<li>连接超时时
<ul>
<li>中国境内一般不超过200ms</li>
</ul></li>
<li>读超时
<ul>
<li>中国境内一般不超过800ms</li>
</ul></li>
<li>写超时
<ul>
<li>中国境内一般不超过500ms</li>
</ul></li>
<li>最低时间标准
<ul>
<li>一定不超过1秒</li>
</ul></li>
<li>将串行请求并行化
<ul>
<li>使用curl<em>multi</em>*()相关函数</li>
<li>多个网络请求,是依赖于最长的那个网络请求耗时</li>
<li>使用swoole扩展</li>
</ul></li>
</ul>
<h2>压缩php接口输出</h2>
<ul>
<li>使用gzip</li>
<li>使用gzip好处
<ul>
<li>利于我们的数据输出,client端能更快获取数据</li>
<li>建议接口输出数据大于100kb才进行压缩处理,小于100kb压缩意义不大</li>
</ul></li>
<li>使用gzip坏处
<ul>
<li>会产生额外的cup开销</li>
</ul></li>
</ul>