PHP 面接の質問の最適化、PHP 面接の質問_PHP チュートリアル

WBOY
リリース: 2016-07-12 09:07:09
オリジナル
930 人が閲覧しました

PHP 面接の質問の最適化、PHP 面接の質問

<span> * PHP性能问题
 * 1.PHP语法使用的不恰当
 * 2.使用PHP语言做了它不擅长的事
 * 3.使用PHP语言链接的服务不给力
 * 4.PHP自身做不了的事情
 * 
 * PHP的性能问题的解决方向
 * 1.PHP语言级的性能优化(代码优化)
 * 2.PHP周边问题的性能优化(linux,mysql,磁盘等)
 * 3.PHP语言性能的优化(c层)
 * 
 * 使用ab压力测试(-n请求数  -c并发数 url目标压测地址)
 * ./ab -n1000 -c100 </span><span>http://www.baidu.com</span><span>
 * Request per second每秒接受的请求数(越大越好)
 * Time per request一个请求需要的时间(越小越好)
 * 
 * time php test.php 测试代码执行时间
 *
 * vld- PHP Opcode查看扩展
 * php -dvld.active=1 -dvld.execute=0  test.php
 * 
 * PHP代码运行流程 
 * *.php(PHP文件)->Scanner(扫描代码,分析)->Exprs(保存成zend引擎可以识别的文件)->Parser(解析)->Opcodes(能被执行的文件)->Exec(执行)->Output(输出结果)
 * 多使用PHP内置变量,常量,函数
 * php内置函数也存在差异,多使用时间复杂度低的.例isset()和array_key_exists()存在差异
 * 尽可能规避使用PHP魔法函数
 * 禁用@错误抑制符,会产生额外的开销
 * 合理使用内存,利用unset()及时释放不使用的内存
 * 尽量少使用正则表达式
 * 避免在循环内做运算for($i=0;strlen($str);$i++){}
 * 减少计算密集型业务(php语言特性决定了PHP不适合做大数据量运算)
 * 务必使用带引号字符串做键值(key)
 * 减少文件类操作 内存<<数据库<磁盘<读写网络数据
 * 优化网络:1.设置超时时间 连接超时200ms  读超时800ms 写超时500  2.将串行请求并行化:使用curl_multi_*() ,使用swoole扩展
 * 压缩PHP接口输出:Gzip  好处:client更快获取数据 坏处:额外的cpu开销
 * PHP缓存复用
 * 时间窗口重叠方法
 * PHP旁路方案
 * xhprof (php -ri xhprof)</span><span><br /></span>
ログイン後にコピー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1062610.html技術記事 PHP 面接の質問の最適化、PHP 面接の質問* PHP のパフォーマンスの問題* 1. PHP 構文の不適切な使用* 2. PHP 言語が苦手なことを行うために PHP 言語を使用する* 3. サービスをリンクするために PHP 言語を使用するのは良くありません* 4. P ...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート