php - laravel 本地 跳转一个链接需要2~3s算慢吗?
高洛峰
高洛峰 2017-04-11 09:43:50
[PHP讨论组]

这是控制器代码

 public function publish($id){
        if(Article::where('id',$id)->update(['status'=>'1'])){
            return redirect('admin/article/index')->with('success','发布成功-'.$id);
        }
        return redirect()->back()->with('fail','操作失败');
    }
    public function offline($id){
        if(Article::where('id',$id)->update(['status'=>'0'])){
            return redirect('admin/article/index')->with('success','下线成功-'.$id);
        }
        return redirect()->back()->with('fail','操作失败');
    }

我的操作是点击发布和下线,改变的只是状态字段,跳转处理后还是回到当前页面
用的是phpstudy 里的php7.0+apache laravel 5.2版本
想不明白本地测试得这么慢的

好像是加载js和css占得太多,该怎么优化?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
ringa_lee

老问题天天问。 mysql连接用127.0.0.1而不是localhost。
慢的原因是localhost解析到ipv6了,然后tcp连接1秒,超时,转而链接ipv4,所以导致了不管干什么都在1秒以上了。

ringa_lee

WordPress算是比较慢的PHP程序了,我Ubuntu上用PHP7跑WordPress首页,Firebug里看网络请求耗时也才0.028s:

本地环境,我认为耗时超过0.2秒的请求都算比较慢的了,超过1秒简直就是不可忍了,Laravel自身慢是一个原因,但这么慢我估计是不是开启了Xdebug扩展.

css/js/img之类是单独的请求,跟Laravel处理插入和返回HTML的请求是分开的,独立的.简单举例说,你图中耗时1.15秒的GET index请求,就是PHP Laravel的处理时间.

Windows 7 上 PHP 连接 MySQL 响应慢的原因
1.my.ini里配置bind-address=127.0.0.1时,Win7及其以上版本系统PHP用localhost连接MySQL耗时超过1秒,比用127.0.0.1连接慢了400倍.
2.my.ini里配置bind-address=::1或bind-address=localhost时,Win7及其以上版本系统PHP用localhost连接MySQL速度是正常的,但用127.0.0.1连接又不正常了.
3.去掉bind-address配置,则用localhost或127.0.0.1连接MySQL速度都是正常的.
4.因为hosts里localhost被解析到::1(IPv6)和127.0.0.1(IPv4),注释掉 ::1 localhost 用localhost访问速度就会变正常,但不推荐这样做.

恶心的Windows!

ringa_lee

尽可能保证在0.1秒之下,最好。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号