Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
付超群.高性能LAMP程序设计
Search
hjue
November 07, 2012
Programming
350
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
付超群.高性能LAMP程序设计
hjue
November 07, 2012
More Decks by hjue
See All by hjue
地推背后的逻辑
hjue
0
120
玩转企业自媒体
hjue
0
69
用户力
hjue
1
170
分布式爬虫
hjue
0
160
Linux LVS 负载均衡
hjue
3
180
技术趋势和如何面对技术
hjue
4
360
建一支强大的小团队(加长版)
hjue
1
820
iOS Game Development with Cocos2D
hjue
4
210
Codeigniter 介绍
hjue
1
190
Other Decks in Programming
See All in Programming
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
960
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
780
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.5k
Creating Composable Callables in Contemporary C++
rollbear
0
170
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
130
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
180
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
840
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
440
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
410
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.8k
Featured
See All Featured
Paper Plane
katiecoart
PRO
1
52k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
610
Practical Orchestrator
shlominoach
191
11k
Producing Creativity
orderedlist
PRO
348
40k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Become a Pro
speakerdeck
PRO
31
6k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
620
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
Transcript
ŋĂLAMPìwĔĐ ğþ.com @fuchaoqun http://www.fuchaoqun.com
PHPñ
Performance… ! Čáarray_key_existsŒáisset¼6¬Ĺ"±SX©õ ! b·JĂŒĴástaticłÍ ! į%á__set, __getïŌºÍ ! áechoµprint() ! áincludeŏrequireµinclude_onceŏrequire_once ! @¤î±İä ! Č count/strlen/sizeof
§7 for Ýä»ėH ! ……
aŒ^ĒĪ…
Why? http://www.garfieldtech.com/blog/magic-benchmarks Ý200WÄ DàćFœ0. 31µs/ÈÄ __getœ1µs/ÈÄ DàĔüœ0.38µs/ÈÄ __setœ1.3µs/ÈÄ ęfXäŒcareĪ….
But… ! éÏãŒìw¶aČ·ĸĘŒU±notice ! t/äéŒŃČ& ! SQLėHȧXforÝĵńĉŒ¶aĂágroup by òĎ-ŒÿM v,& ! 2ĺʼn+profileäPHPé ! ĭĨauto loading
fÞ lazy loading ! çÉĦĩĉĮ{Œ´ŁČÎmemory limitŒk(±shell\ßă¹
ôPHPå¢ äôPHPéĩĉÆsRŔ #E© xī¡_Ğŏħâ×2ŏPK¸<=ŏM© }s…… Ď-:Íœ ĭĨset_error_handler¼ćôĩĉĸĘŒø¥ŀ¯ ŏď ĭĨregister_shutdown_function¼ćfatal errorsŏđĩĉ°Ļ
None
Profiling ! PHPp)œ XdebugŏxhprofŒÿ ! ªĂp) ab -n 100000 -c 200 -k
http://127.0.0.1/test.php
OpCode TryœAPCŏeAccelerator….
PHP Framework http://doophp.com/benchmark
PHP Tunning CaseœColaPHP http://www.ruilog.com/blog/view/b6f0e42cf705.html
PHP Tunning CaseœColaPHP http://www.ruilog.com/blog/view/b6f0e42cf705.html
None
PHP Tunning CaseœColaPHP ColaPHPddªäĜ{ŐFrontcontollerŏRouterŏDispactherŏControllerŏResponserőŒ ÒĀ 0.5ms ! áXdebugĢĤéĩĉ¨ÜŒáwebgrindoê ! ]IJ3äÒĀX«á(include/require)ŒĈÙáopcode;ĮŒ >0.3ms ! ]ķá__setŏ__getïŌºÍ¼fÞhĝäŁà
! ĭĨspl_autoload_registerfÞòälazy loadingŒ]]£ŋÀ¾Į{ ! “è”é ! À¾ÑìJľ°ċöÅŒIŁ á7äÛ A
Webserverñ
Apache VS Nginx http://blog.a2o.si/2009/06/24/apache-mod_php-compared-to-nginx-php-fpm/
Apache Tips ! http://httpd.apache.org/docs/2.4/misc/perf-tuning.html ! I;ĥá7äÃY ! mpmĬ(event/worker/prefork) ! AllowOverrides ! Google mod_pagespeed! ! EnableSendfile ! keepalive
Nginx Tips ! Epoll ! worker_processesœCPU©æ!©Œ=yáäĖ1!la ! ulimit -SHn 65535 ! CPUT worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000; ! worker_connections 65535; ! keepalive_timeout 60; ! sendfile on; ! tcp_nodelay on; ! tcp_nopush on;
Nginx 502 http://blog.s135.com/post/361/
Nginx 502 ! fast_cgiĔü fastcgi_connect_timeout 30; fastcgi_send_timeout 30; fastcgi_read_timeout 30; fastcgi_buffer_size
64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; ! Php-fpmĔü <value name="listen_address"> /dev/shm/php-fpm.sock </value> <value name="max_children">128</value> <value name="request_terminate_timeout">10s</value> <value name="request_slowlog_timeout">5s</value> <value name="slowlog">/path/to/slow.log</value> <value name="rlimit_files">65535</value>
© xñ
MySQL ! Linux server & MySQL server tunning ! èŏi ! =ł3ë ! 3x3Ċ
! ąaäó & Explain ! NÇŒĭĨx¼oě ! mķCacheŒ0jSQL¤ ! ķ¤ & ļ4 ! ēÉĂ´JŒÉbœleft joinijŏlikeá7óŏchareÉ varchara….
Cache ! Browser Cache Last modifyŏEtagŏExpires ! Page Cache SquidŏVarnishŏNginx proxy_cacheŏNginx fast_cgi_cache
! Data Cache MemcachedŏRedis http://tech.idv2.com/2008/08/17/memcached-pdf/
Nginx fast_cgi_cache fastcgi_temp_path /data/ngx_fcgi_tmp; fastcgi_cache_path /data/ngx_fcgi_cache levels=1:2 keys_zone=ngx_fcgi_cache:512m inactive=1d max_size=40g;
fastcgi_cache_valid 200 301 302 1d; fastcgi_cache_use_stale error timeout invalid_header http_500; fastcgi_cache_key $request_method ://$host$request_uri;
NoSQLœMongoDB
None
Redis ! ³ĂĬā http://finance.qq.com/data/#znxg,hyg http://smartstock.gtimg.cn/get.php?_func=filter&hs_hsl=0.05&hs_zf=0.03,0.05&hs_lb=1 ! 1300+ RPS ! MySQL© ?, RedisùcŐhÉMemcached
30%+£@ő ! >œgä© ÷½
sáõñ
Òļ4 ! á\œ }Ç\ß°¤ŒÉbEıŏEBï ! |ÖŇæœ memcacheqœ http://memcachedb.org/memcacheq/ beanstalkdœ http://kr.github.com/beanstalkd/ RabbitMQœhttp://www.rabbitmq.com/
3r~<\ßœGearman
'«Âó ! |ÖŇæ sphinxŏxapianŏlucence ! «3ĕœ scwsœ http://www.ftphp.com/scws/ ! ŀÁœ coreseekœ http://www.coreseek.com/
¾½ñ
1D5 ! ŒÙP+? ! ĨÔĔĐÉĔĐ´Ŏō ! ĠðAĠa ! bŃČŒČ& ! nÄÓ² ! Jľ°µ ! JÊuo ! ąaäå¢ňď
=yáĭá÷½
ĄĬā ! 2300w+Î*áŒ400wqLÐġá ! È^1.8Ä=ĚË ! 4IDCŒ20K9í¸<V(nginx+php-fpm) ! MySQL ?© ( ŒģIDCôNÇ) ! Memcachedùc ! ĭĨļ4NÇ©
¡GuK ! 9í¸<VNginx+PHP-FPM ! PHPÀ¾[ColaPHPe8 ¦ ! čĆ|EŒĮ|EŒĮIJý ! å¢T¯ ! ûØœĿëcXŊĽ
¡GuK
9íñ
PHP is rarely the bottleneck, 80-90% front-end. --Rasmus Lerdorf
®ī¡ ! Browser CacheŐExpireső ! CSS Sprite ! Lazy loading WÚŏ`$ï ! MvĚË ! į%ĶeQ
ÌÑķ ! JSŏCSSCú ! Gzip ! WÚCú ! Browser CacheŐLast modifyŏEtagő ! Lazy loading ! áajax0jÑķ
! <img src="" /> is evil
( ! CDN ! ł«á®cookieZO ! CSS§ņIJŒJS§zIJŐĭs.ő
p) ! Page Speed ! Yslow ! áJavascriptđŅńÕ¿°Ļ
Thanks & QA
关注我们:t.baidu-tech.com 资料下载和详细介绍:infoq.com/cn/zones/baidu-salon InfoQ 策划·组织·实施 关注我们:weibo.com/infoqchina “畅想•交流•争鸣•聚会”是百度技术沙龙的宗旨。 百度技术沙龙是由百度与InfoQ中文站定期组织的线下技术交流活动。目 的是让中高端技术人员有一个相对自由的思想交流和交友沟通的的平台。主要分讲师分享和OpenSpace两个关键环节,每期 只关注一个焦点话题。 讲师分享和现场Q&A让大家了解百度和其他知名网站技术支持的先进实践经验,OpenSpace环节是百度技术沙龙主题的升华
和展开,提供一个自由交流的平台。针对当期主题,参与者人人都可以发起话题,展开讨论。