QQ会员活动运营平台PHP7升级实践--徐汉彬@PHPCon2016
2020-02-27 157浏览
- 1.QQ会员活动运营平台 PHP7升级实践 Hansionxu徐汉彬
- 2.鸟哥-PHPCon2016-PHP7高性能之源
- 3.个人介绍 • Hansionxu • • QQ • SNG AMS
- 4.内容目录 1 QQ会员活动运营平台介绍 2 一个大流量活动的故事及根源分析 3 PHP7升级实践 4 升级后的性能优化成果
- 5.PART ONE QQ会员活动运营平台介绍
- 6.什么是活动? • • •
- 7.AMS平台介绍 • • • AMS PHP QQ Web QQ 3-8 Web 800+ 100+ 7w/s CGI
- 8.PART TWO 一个大流量活动的故事及根源分析
- 9.故事开端:流量冲击 • • • 4 1.25G/s Q
- 10.CGI层CPU高负载 • • • CGI
- 11.故事的结局?
- 12.CGI层问题根源分析 • • • Apache prefork • • PHP5.2 •
- 13.CGI层的单体架构 •
- 14.AMS平台介绍 • • • • • •
- 15.系统扩大带来问题
- 16.对开发文化影响 •
- 17.CGI层拆分 • Unix哲学:Do one thing and do it well • SOA/ • Server • CGI
- 18.AMS新老架构对比
- 19.PART THREE PHP7升级实践
- 20.性能优化方案讨论 • 2015 • AMS Web Server +PHP5.2 prefork • CPU Nginx+PHPFPM HHVM • • Apache2.0 • • PHP-FPM PHP7+Apache2.4 Event Node • •
- 21.AMS升级面临的难点 • PHP7+ Apache2.4.18 Event • Apache2.0->Apache2.4 2008 • PHP5.2->PHP7 2009 • Tphplib • PHP5.2 • Apache2.0 PHP5.6 Apache2.4 PHP7.0 Apache2.4 prefork Event Event
- 22.Apache2.2升级 • Apache2.0->2.2 Httpd
- 23.Apache2.4升级 • Apache2.4 MPM • Prefork/Worker/Event Prefork Worker Event
- 24.Apache2.4遇到的问题 • scoreboard is full not at MaxRequestWorkers Apache2.4 + PHP5.6 • • kill “ ” “ • Apache2.4.18 + PHP7.0 ”
- 25.PHP5.2->PHP5.6 PHP5.2 • • • • PHP • PHP5.6 tphplib tphplib 10 api PHP5.6 apc zend_opcache apcu
- 26.PHP5.6->PHP7.0 • PHP5.6 • • Tphplib • 2016 4 function_exists 8 5
- 27.PHP7升级的调试方法 • gdb + Core • PHP var_dump/exit • worker core gdb –p/gdb c • worker strace -Ttt -v -s1024 -f -p pid
- 28.httpd的调试模式 • • Apache apachectl -k start -X -e debug
- 29.PART THREE 升级后的性能优化成果
- 30.性能表现 • PHP Web Server QPS Apache2.0+PHP5.2(prefork) 1013 Apache2.4+PHP5.6(event) 1529 Apache2.4+PHP7(event) 3021 CPU 18% 6%
- 31.PHP7升级的现网数据 •
- 32.Prefork和Event的资源开销 • pidstat -ruh -p pid 1 10 •
- 33.PHP7升级的参考资料 • AMS PHP7 •http://hansionxu.blog.163.com/blog/static/241698109201651784036924/
- 34.THANK YOU FOR WATCHING 感谢聆听