• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

为什么在访问同一个项目的时候会有时快有时非常慢?用的是Yii

php 搞代码 3年前 (2022-01-23) 21次浏览 已收录 0个评论
文章目录[隐藏]

本帖最后由 acc972 于 2013-08-07 11:28:24 编辑

Yii PHP

在访问一个项目比如说http://host/module/controller/ action
的时候,js、img、css等都能在0.2秒内加载完,但是视图文件html有时能在0.2秒内加载完成,有时则需要2秒以上甚至30秒才能加载完成。这种情况会发生在我首次访问这个地址时,或者我访问该控制器下的另一个视图如http://host/module/controller/ anotheraction后再重新访问 action这个地址时,并且这种情况不只存在在action这一个地址,有可能会在anotheraction上发生。请问这是我代码的原因吗?我是用CDbCriteria来作为数据提供者

回复讨论(解决方案)

第一次访问慢 第二次快 这种情况一般是因为第二次直接读取了缓存

因此你应该把注意力放在为什么(第一次)会慢上

是否用了太多或者不太优良的sql语句

第一次访问慢 第二次快 这种情况一般是因为第二次直接读取了缓存

因此你应该把注意力放在为什么(第一次)会慢上

是否用了太多或者不太优良的sql语句
没有使用缓存,这里的”第一次“和”第二次“其实只是一个形义 的说法,理解成”间歇性“访问慢吧

那换个思路

你访问一个内容足够少的页面 比如PHP没有进行任何运算 前台页面只有/本2文来源[email protected]搞@^&代*@码2网搞gaodaima代码个123 还会偶尔超慢吗?

如果不会,那就是你这个页面代码有问题 发关键代码来分析

如果这样也会慢,那再考虑其他思路

访问数据库时快时慢,这是很正常的现象,尤其是在单机测试环境下

操作系统都会将空闲的服务挂起(甚至将其移到硬盘,释放其所占内存)
如果你发起访问时,恰好 mysql 被移动到了硬盘,这就会有一个从硬盘读取并恢复现场的工作,当然要多花一点时间的
在正式运营的网站中,因为总是有人访问,所以总是不会被挂起。所以表现出来的效果也会令人满意

访问数据库时快时慢,这是很正常的现象,尤其是在单机测试环境下

操作系统都会将空闲的服务挂起(甚至将其移到硬盘,释放其所占内存)
如果你发起访问时,恰好 mysql 被移动到了硬盘,这就会有一个从硬盘读取并恢复现场的工作,当然要多花一点时间的
在正式运营的网站中,因为总是有人访问,所以总是不会被挂起。所以表现出来的效果也会令人满意

蛋疼的是,就是在正式运营的情况下出现这种情况,非常严重。代码方面也作了检查,问题不大。
因为这个项目有一定的时效性,所以数据库用的是外网的主库,读写都操作的是主库,但只有几个人在使用这个项目,操作也不会特别频繁。别的项目也有会频繁访问数据库的,但都做了读写分离。
诡异的是,这个项目下比如说有一个”分类管理“的菜单,链接指向的是一个展示分类数据的视图页,分类表里面只有5个字段10条记录,查询显示出来应该来说是非常快的。但是有时候想要打开这个页面也会花上几秒甚至分钟!
我还查看了慢查询日志,里边像一条这样的sql语句他的查询时间也会使用到15秒之久,”UPDATE history SET status=’1313′,time=1373254836,t_id=’34’ WHERE id=’817′;“,求解。。

你有很多update吗?

会不会是引起了锁表所以很慢

你有很多update吗?

会不会是引起了锁表所以很慢

今天打开CWebLogRoute,查看程序的执行情况,有了新的线索

刚发现,就截图上来了,还没开始着原因


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:为什么在访问同一个项目的时候会有时快有时非常慢?用的是Yii

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址