PHP thinkPHP 性能提升之旅
公司有一个DSP平台(广告平台),rtb模式 媒体方会请求我们的API,我们需要返回参与竞价的广告数据。
媒体方对API的要求只有一个:必须在100ms做出回应!
一阵折腾,上线、测试、联调,超时率>95%...
优化之旅:
1.将url从域名访问改为IP访问(节省大概10ms)
2.将mysql连接地址 localhost,改为127.0.0.1 (节省...1ms)
3.把数据库操作全部干掉,改为用memcache或者redis其他存放在内存的noSql。另做一个定时任务,更新memcache里的值。(节省N ms)
(当时也想过把常读数据定时刷新到文件里,后来发现还**不如mysql)
4.然后发现框架(thinkPHP)只是初始化都需要11-14ms,然后对框架进行了缓存(ThinkPHP 替换入口),其实节省autoload方法不是重点,其实autoload并不是特别影响性能。我主要看中的是在生成lite.php时可以手动砍掉不需要的组件:比如view。。。还没看效果,未完待续。。。
5.另外php7的同学也可以开启 Opcache ,据说性能翻倍。
欢迎各位指点!