php网站性能优化

1. 尽量使用php自身函数,不使用自己创建的函数.

2.使用性能高的函数,比如说在判断某个变量是否在一个数组中,使用isset()函数,而不使用array_key_exists()函数.

3.在for循环中,不将动态变量写for语句中
        eg:
            不推荐写法:
            $arr = array();
            for($i=0;$i<$count($arr);++$i){
                echo $i;
            }
            
            推荐写法:
            $arr = array();
            $len=count($arr);
            for($i=0;$i<$len;++$i){
                echo $i;
            }

4.不使用错误抑制控制符:@,因为@方法相当于在@当前代码前加上了禁用错误提示,当@所在行的代码执行后,重新启用错误提示
        <?php    
            @$sql = mysql_connect(*);   
            echo "我一直在执行";   
        ?>  
5.php周边问题性能优化
        lniux运行环境
        文件存储
        数据库
        缓存
        网络
        (1).减少文件操作:读写磁盘,读写内存,读写数据库
        系统的开销                
    ​    ​    ​    ​读​写内存 << 读写磁盘
                读写内存 << 读写数据库 <读写磁盘
    ​    ​    ​    ​读写内存 << 读写数据库 <读写磁盘 < 读写网络
    ​    ​(2).优化网络请求
    ​    ​    ​1.对方接口的不确定因素
    ​    ​    ​2.网络稳定性
    ​    ​     ​优化网络请求:
    ​    ​    ​    ​设置超时时间:连接超时(200ms),读超时(800ms),写超时(500ms) 最好不超过1s
    ​    ​    ​    ​将串行请求并行化:使用curl_multi_*(),使用swoole扩展
    ​    ​    ​    ​压缩php接口输出:使用Gzip压缩(有利于我的数据输出,client端可以更快的获取数据,但会占用cpu的开销)
            3.缓存重复计算的内容 (eg:redis)
    ​    ​    ​    ​多次请求,内容不经常变更的数据. ​    ​    ​    ​
​    ​    ​    ​4.使用smarty模板缓存
    ​    ​    ​5.重叠时间的思想:
    ​    ​    ​    ​    ​串行:只能上一个任务完成后才执行下一个任务
    ​    ​    ​    ​    ​重叠时间窗口:指的是下一个任务和上一个任务有依赖,上一个任务执行到一定时间时,下一个任务开始执行
    ​    ​    ​  6.使用旁路方案

    ​    ​    ​    ​    ​只有在下一个任务不依赖上一个任务时,就可以在其中加入另一个任务(eg:模板渲染中会涉及到,smarty模板)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值